Ver Mensaje Individual
  #3  
Antiguo 13-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola steelha.

Para tu primera pregunta,
Cita:
necesito poder selecionar una parte de la imagen cualquiera y esa seleccion será mi nueva imagen
te hice un ejemplo muy sencillo para darte una idea de como podrías seleccionar con el mouse parte de una imágen (o toda) y copiar la selección en otra.

El ejemplo utiliza dos TImages y un TShape:
Código Delphi [-]
...
implementation

var
  P: TPoint;
  InSelect: Boolean = False;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Shape1.Pen.Color := clWhite;
  Shape1.Pen.Style := psDot;
  Shape1.Visible   := False;
  InSelect         := False;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  P.X       := X;
  P.Y       := Y;
  InSelect  := True;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  R: TRect;
begin
  if InSelect then
  begin
    R := Rect(Image1.Left+P.X,Image1.Top+P.Y,Image1.Left+X,Image1.Top+Y);
    Shape1.BoundsRect  := R;
    Shape1.Brush.Style := bsClear;
    Shape1.Visible     := True;
  end;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Image2.Picture := nil;
  Image2.Canvas.CopyRect(Rect(0,0,X-P.X,Y-P.Y),Image1.Canvas,Rect(P.X,P.Y,X,Y));
  Shape1.Visible := False;
  InSelect       := False;
end;

...
El resto de tus consultas podés agregarlas en nuevos hilos en este mismo foro.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 13-09-2012 a las 21:36:56. Razón: corregir identación
Responder Con Cita