Creo que es esto lo que quieres hacer:
Código Delphi
[-]var
StartX, StartY : integer;
procedure TForm1.ImagenMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Origen, Destino: TRect;
begin
Origen.Left := StartX;
Origen.Top := StartY;
Origen.Right := x;
Origen.Bottom := y;
Destino.Left := 0;
Destino.Top := 0;
Destino.Right := abs(Origen.Left - Origen.Right);
Destino.Bottom := abs(Origen.Top - Origen.Bottom);
Canvas.Rectangle(Destino);
Canvas.CopyRect(Destino, Imagen.Picture.Bitmap.Canvas, Origen);
end;
procedure TForm1.ImagenMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
StartX:= X;
StartY:= Y;
end;
Saludos.