¿Cómo definir una matriz en c++ Visual Studio para acceder a todos los valores de píxeles RGB de una imagen en color?
Implemente un pequeño programa para capturar la imagen de la pantalla actual con regularidad.
(2) Preparación
1) Cree la APLICACIÓN DE CONSOLA VC y seleccione SOPORTE MFC
2) Agregue el archivo de encabezado: conio.h
(3) Programa principal
El código del programa principal es el siguiente:
char Filename[100];
int count = 0;
while(!_kbhit())//salir si el usuario presiona la tecla
{
Sleep(5000);//se cuelga durante 5 segundos
count + +;
sprintf(Filename, "%d.bmp", count);
Screen(Filename).// Llamar a la función Screen
} p>
El código anterior llama a la función Pantalla cada 5 segundos para guardar la pantalla actual en un archivo.
(d) Función de trabajo Pantalla
La pantalla implementa la copia del contenido de la pantalla actual a un archivo bmp.
El código fuente es el siguiente:
void Screen(char filename[])
{
CDC *pDC;// screen DC
pDC = CDC::FromHandle(GetDC(NULL));//obtiene toda la pantalla actual DC
int BitPerPixel = pDC->GetDeviceCaps(BITSPIXEL);// obtener el modo de color
int Width = pDC->GetDeviceCaps(HORZRES);
int Height = pDC->GetDeviceCaps(VERTRES);
cout << "Pantalla actual El modo de color es " << BitPerPixel << "BitColor" << endl;
<< "Ancho de pantalla: " <<.Width << endl
<< "Alto de la pantalla: " << Alto << endl << endl;
CDC memDC;//memoria DC
memDC. CreateCompatibleDC(pDC);
CBitmap memBitmap, *oldmemBitmap;//crea un mapa de bits compatible con la pantalla
memBitmap.CreateCompatibleBitmap(pDC, Ancho, Alto);
oldmemBitmap = memDC.SelectObject(&*oldmemBitmap);
OldmemBitmap = memDC.SelectObject(&*oldmemBitmap);