Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo definir una matriz en c++ Visual Studio para acceder a todos los valores de píxeles RGB de una imagen en color?

¿Cómo definir una matriz en c++ Visual Studio para acceder a todos los valores de píxeles RGB de una imagen en color?

(1) Función

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

}

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