Alternative zu GetPixel
-
Hallo liebe Forengemeinde,
ich habe folgenden Schnipsel:
rgb getAverageColor(int xx, int yy, int length, int width) { COLORREF crExtract; HDC hdcEntireScreen = GetDC(NULL); int r, g, b; r=0; g=0; b=0; for(int i=0;i<length;i++) { for(int j=0;j<width;j++) { crExtract = GetPixel(hdcEntireScreen, xx+j, yy+i); r+=(int) GetRValue(crExtract); g+=(int) GetGValue(crExtract); b+=(int) GetBValue(crExtract); } } r/=length*width; g/=length*width; b/=length*width; ReleaseDC(NULL, hdcEntireScreen); rgb back = {r, g, b} ; return back; }
Damit berechne ich die Durchschnittsfarbe in einem Quadrat. Leider dauert dieser Befehl bei einem 20x20 Quadrat bei mir ganze 4 Sekunden, was viel zu lange ist.
Hat jmd eine Idee, wie ich das ganze beschleunigen kann, etwa durch Verbesserung des obigen Codes oder durch neue Befehle...Danke schonmal im voraus
-
-
mhh gute Idee^^