Esta función nos permitirá guardar en una imagen todo lo que haya en la pantalla y luego guardarlo en formato JPEG
. El único parámetro de entrada es el nombre del archivo donde se guardará. Ejemplo: «C:\\screen.jpg«. Es importante recordar que deberás incluir JPEG.hpp en el código (#include <JPEG.hpp>).
void ScreenToFile(String File)
{
TCanvas *Desktop;
TImage *Imagen ;
TJPEGImage *Jpeg;
Desktop = new TCanvas;
Imagen = new TImage(NULL);
Jpeg = new TJPEGImage;
//obtenemos el device context del escritorio
Desktop->Handle = GetWindowDC(GetDesktopWindow());
//lo copiamos al canvas del Image
Imagen->Width = Screen->Width;
Imagen->Height = Screen->Height;
Imagen->Canvas->CopyRect(Rect(0,0,Imagen->Width,Imagen->Height),Desktop,Rect(0,0,Screen->Width,Screen->Height));
//de BMP a JPG
Jpeg->Assign(Imagen->Picture->Bitmap);
//guardamos en formato JPG
Jpeg->SaveToFile(File);
delete Desktop;
delete Imagen;
delete Jpeg;
}
