wykrywanie kolorów pikseli
Ostatnio zmodyfikowano 2012-11-30 20:02
soltaire33 Temat założony przez niniejszego użytkownika |
wykrywanie kolorów pikseli » 2012-11-30 19:44:05 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) Co jest przyczyną? #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 ) { 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; }
|
|
Admixior |
» 2012-11-30 20:02:20 hWnd = FindWindowA( NULL, "Edytor obrazów GIMP" ); pewny jesteś że to okno ma rozmiary przynajmniej 1024/2 i 768/2 i że jak będzie mniejszy rozmiar to nie będzie to środek? ;] //nie musisz inkludować gdiplus bo się nie przydaje //jak chcesz kolor środka ekranu to musisz pobrać hwnd całego ekranu: GetDestkopWindow() zamiast tego findwindow |
|
« 1 » |