Hallo zusammen
Ich möchte aus einem Computerspiel die Pixel einlesen bzw die Pixel Farbwerte auslesen. Hier ist der Quellcode:
Das Problem ist, ich bekomme als Ausgabe totalen Quatsch also irgendwelche Sonderzeichen, Buchstaben oder Zahlen und immer das Selbe.
Ich dachte erstmal es wird der Fensterrand gelesen und hab dann den x und y Wert durch 100 ersetzt, dass hat aber auch nichts gebracht.
Soviel weiß ich, das GetRValue, GetGValue und GetBValue einen Byte Wert Liefert.
Was ich gerne möchte ist ein rgb Wert wie zb. 25500 das entspräche rot oder irgendwas anderes, womit man arbeiten kann, jedenfalls gibt printf() nur quatsch aus.
Ich hab schon flessig gegooglet aber nichts passendes gefunden.
Ich möchte aus einem Computerspiel die Pixel einlesen bzw die Pixel Farbwerte auslesen. Hier ist der Quellcode:
Code:
#include <windows.h>
#include <stdio.h>
HWND g_hwnd;
HDC dc;
int main( int argc, int *argv[]) {
g_hwnd = FindWindow(NULL, "Fenstername");
ShowWindow(g_hwnd, SW_RESTORE);
SetForegroundWindow(g_hwnd);
SetFocus(g_hwnd);
printf("Fange an Pixel zu lesen : \n\n");
int x, y;
int r, g, b;
COLORREF pixel;
for(x = 0; x < 1024; x++) {
for(y = 0; y < 768; y++) {
pixel = GetPixel(dc, x, y);
r = GetRValue(pixel);
g = GetGValue(pixel);
b = GetBValue(pixel);
printf("" + r + g + b);
printf("\n");
sleep(1000);
}
}
return 0;
}
Das Problem ist, ich bekomme als Ausgabe totalen Quatsch also irgendwelche Sonderzeichen, Buchstaben oder Zahlen und immer das Selbe.
Ich dachte erstmal es wird der Fensterrand gelesen und hab dann den x und y Wert durch 100 ersetzt, dass hat aber auch nichts gebracht.
Soviel weiß ich, das GetRValue, GetGValue und GetBValue einen Byte Wert Liefert.
Was ich gerne möchte ist ein rgb Wert wie zb. 25500 das entspräche rot oder irgendwas anderes, womit man arbeiten kann, jedenfalls gibt printf() nur quatsch aus.
Ich hab schon flessig gegooglet aber nichts passendes gefunden.
Zuletzt bearbeitet: