Estimado
Jose Roman:
Para que el componente TSizeRect sea transparente debes colocar su propiedad NormalBrush>Style=bsClear.
Para dibujar el cuadradito de selección debes poner su propiedad NormalPen>Style=psDot.
Para realizar la acción de cortar la parte seleccionada el siguiente código:
Código Delphi
[-]procedure TFormPrincipal.ButtonCropClick(Sender: TObject);
Var New, Old : TRect;
Wic1:TWicImage;
ImageM: TImage;
Begin
ImageM:= TImage.Create(Self);
Wic1:= TWicImage.Create;
Wic1.LoadFromFile(ImageList[TImage(Sender).Tag]);
New.Left:=SizeRect1.ClientRect.Left;
New.Top:=SizeRect1.ClientRect.Top;
New.Right:=SizeRect1.ClientRect.Right;
New.Bottom:=SizeRect1.ClientRect.Bottom;
Old := New;
try
ImageM.Left:=SizeRect1.Left;
ImageM.Top:=SizeRect1.Top;
ImageM.Height:=SizeRect1.Height;
ImageM.Width:=SizeRect1.Width;
ImageM.Canvas.CopyRect(Old,SizeRect1.Canvas,New);
ImageM.Picture.SaveToFile(ExtractFilePath(Application.ExeName) + 'Foto.bmp');
Wic1.LoadFromFile(ExtractFilePath(Application.ExeName) + 'Foto.bmp');
Image1.Picture.Bitmap.Assign(Wic1);
finally
Wic1.Free;
ImageM.Free;
end;
end;
En este ejemplo utilizo TWicImage que lo soporta Delphi XE3 para cargar no sólo .bmp y .jpg, sino también .png y .tiff, pero lo puedes reemplazar por un TBitmap o utilizar el código que te envié por mensaje privado.
Ojalá te sirva
Saludos
PD: Te sugiero que también revises el demo que traen los componentes TSizeComps, ya que ahí están los ejemplos para hacerlo funcionar.