witam, mam problem otóż chciałem napisać program którego zadaniem by było wykrywanie koloru piksela na środku ekranu, napisałem niestety nie działa, przedmiotem testowania był program GIMP. W GIMPie zamalowałem całą kartkę na czerwono mimo tego w konsoli pokazuje 255, 255, 255(biały)
C
#include <windows.h>
#include <gdiplus.h>
#include <iostream>
using namespace std;
const int SCREEN_X =( 1024 / 2 );
const int SCREEN_Y =( 768 / 2 );
int main( void )
{
// pixel detect
HWND hWnd;
hWnd = FindWindowA( NULL, "Edytor obrazów GIMP" );
cout << "Waiting for window." << endl;
while( hWnd == 0 )
{
hWnd = FindWindowA( NULL, "Edytor obrazów GIMP" );
Sleep( 10 );
}
cout << "there is a window";
HDC hdc = GetWindowDC( hWnd );
short int R, G, B;
COLORREF lcolor;
lcolor = GetPixel( hdc, SCREEN_X, SCREEN_Y );
R = GetRValue( lcolor );
G = GetGValue( lcolor );
B = GetBValue( lcolor );
cout << R << ", " << G << ", " << B << endl;
cin.get();
return 0;
}
o jest przyczyną?