PDA

Ver la Versión Completa : Copiar parte de la pantalla....


craven
27-08-2003, 22:26:19
Hola amigos. Ahi os remito esta duda, a ver si me podeis ayudar. Resulta que tengo en una aplicación un control TImage sobre el que he dibujado utilizando el Canvas. De igual forma, sobre éste he creado otros controles TGraphicControl sobre los que tambien he dibujado usando su Canvas. Ahora me gustaria grabar el resultado de todos estos dibujos en un BMP. Si utilizo el método SaveToFile del TImage, logicamente solo graba lo que he dibujado en él, pero no lo que hay en los otros controles que se encuentran sobre el TImage. He pensado en hacer un bucle e ir copiando todo con BitBlt a un nuevo control TBitmap y luego grabar, pero no funciona. De esta forma he pensado en si exitiría un método de grabar en un archivo una captura de pantalla. A ver si me podeis ayudar con esto. Espero haberme explicado bien. Un saludo a todos y gracias de antemano.

Julià T.
27-08-2003, 23:23:36
hola Craven

sin más que decir creo que el código que necesitas es similar al siguiente:

procedure TForm1.Button1Click(Sender: TObject);
Var
Bmp:TBitmap;
begin
Bmp:=Tbitmap.Create;
Bmp.Height:=100;
Bmp.Width:=100;
Bmp.Canvas.CopyRect(Rect(1,1,100,100),Canvas,Rect(1,1,100,100));
Bmp.SaveToFile('c:\bmp.bmp');
Bmp.Free;
end;

craven
27-08-2003, 23:53:01
Muchas gracias por tu apunte Julià T. Un saludo.