0 1 min 1 semana

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;
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *