PDA

Ver la Versión Completa : Capturar un sector de un formulario y guardarlo como imagen


testosi
25-09-2008, 19:05:24
Estimados, he buscado mucho en los hilos con temas relacionados a lo que necesito pero no encuentro una solución a mi problema. Les detallo mi inconveniente:

Debo capturar un sector determinado de un formulario y guardarlo como imagen.
Desde ya muy agradecido por su ayuda.

Saludos.

roman
25-09-2008, 19:31:03
Puedes usar un objeto Bitmap y su método Bitmap.Canvas.CopyRect para copiar la porción deseada del formulario. Luego usas Bitmap.SaveToFile para guardar la imagen a un archivo.

// Saludos

roman
25-09-2008, 19:53:09
Aquí un ejemplito:


procedure SaveRect(Form: TForm; Source: TRect; FileName: TFileName);
var
Bitmap: TBitmap;
Dest: TRect;

begin
Bitmap := TBitmap.Create;

try
Bitmap.Width := Source.Right - Source.Left;
Bitmap.Height := Source.Bottom - Source.Top;
Bitmap.PixelFormat := pf32bit;

Dest := Rect(0, 0, Bitmap.Width, Bitmap.Height);
Bitmap.Canvas.CopyRect(Dest, Form.Canvas, Source);
Bitmap.SaveToFile(Filename);
finally
Bitmap.Free;
end;
end;


La función recibe el formulario y la porción que requieres guardar y la guarda en el archivo indicado.

// Saludos

testosi
25-09-2008, 20:43:09
Muchas gracias roman, era lo que necesitaba. Funciona a la perfección.

Nuevamente muchas gracias.