PDA

Ver la Versión Completa : TCamera.PaintToBitmap


olalla
21-05-2012, 13:00:07
Hola buenos días.
¿Sabe alguien como utilizar el método PaintToBitmap de una cámara en FireMonkey?
Estoy tratando de hacer un "snapshot" (o captura) de un ViewPort3D pero no logro nada:

Tengo un form ("MiForm") con un ViewPort3D ("ViewPort3D1") en el que hay un texto3D ("Text3D1") mostrado desde la perspectiva de la cámara "Camera1":

TMiForm = class(TForm)
Viewport3D1: TViewport3D;
Light1: TLight;
Text3D1: TText3D;
Image1: TImage;
Button2: TButton;
Camera1: TCamera;
procedure Button2Click(Sender: TObject);
end;


Al pulsar el botón ("Button2") hago que se muestre el contenido de la vista de la camara en un TImage que tengo en el formulario ("Image1") y además que se grabe en el archivo "prueba.gif".

procedure TfrmAbout.Button2Click(Sender: TObject);
begin
Camera1.PaintToBitmap(Image1.Bitmap,1000,1000,1);
Image1.Bitmap.SaveToFile('prueba.gif');
end;

Lo que ocurre es que en el TImage no se muestra nada y el gif que se graba correctamente está vació (transparente)......
He probado con todos los parámetros del PaintToBitmap y un montón de valores pero nada....
¿?

Gracias y un saludo.

olalla
21-05-2012, 20:57:04
Ya lo he arreglado con el método MakeScreenShot de Viewport3D.
Un Saludo!!