Hola, FastHorse.
Fijate en este código
Código Delphi
[-]
var o,d:trect;
c:TBitmap;
begin
c:=TBitmap.Create;
c.Height:=100;
c.Width:=100;
d.Left:=0;
d.Top:=0;
d.Right:=100;
d.Bottom:=100;
o:=d;
c.Canvas.CopyRect(d,img1.Canvas,o);
c.Canvas.Ellipse(1,1,10,10);
img1.Canvas.CopyRect(o,c.Canvas,d);
end;
Acá tenemos la imagen original img1. El rectángulo que copiamos es (0,0,100,100), este valor lo tendrías que tener guardado por ahí y corresponde con la selección hecha.
Copiamos al canvas del bitmap auxiliar y hacemos alguna cosa (como escribir una elipse) y después volvemos a dibujar con CopyRect en la imagen de pantalla.
Espero te sirva.
Saludongos.