RimShot
Registered +
- Registriert
- Sep. 2007
- Beiträge
- 162
Hallo
Ich möchte ein Programm schreiben, welches die Bildschirmfarben ausliest, und dann schaut, welche Farbe am häufigsten vorkommt.
Es soll so was ähnliches wie Ambilight geben.
Dazu muss natürlich nicht der ganze Bildschirm ausgelesen werden, sonder nur der Rand.
folgende Ideen:
Den folgenden Code habe ich bereits:
Das hat aber mehrere Probleme:
Den Code habe ich nicht selbst geschrieben... denke aber man könnte darauf aufbauen.
Ich erwarte jetzt nicht, dass mir jemand hier ein fertiges Programm schickt
, aber ich würde mich freuen, wenn mir jemand die Befehle und deren Verwendung sagen könnte, mit denen ich den Rest erreiche 
Vielen Dank schon mal fürs lesen!
Ich möchte ein Programm schreiben, welches die Bildschirmfarben ausliest, und dann schaut, welche Farbe am häufigsten vorkommt.
Es soll so was ähnliches wie Ambilight geben.
Dazu muss natürlich nicht der ganze Bildschirm ausgelesen werden, sonder nur der Rand.
folgende Ideen:
- Farbwerte auslesen und zwischenspeichern
- nur die Ränder betrachten; Koordinaten angeben
- Farbwerte vergleichen, nach dem am häufigsten vorkommenden suchen
Den folgenden Code habe ich bereits:
Code:
#include
#include
using namespace std;
int main(void){
HDC dc = GetDC(0); //WinAPI Funktion, liest Farben
for(int i=0;i/ Koordinaten y
for(int j=0;j/ Koordinaten x
COLORREF c = GetPixel(dc,j,i);
cout / ausgabe der Pixelwerte
}
}
ReleaseDC(0,dc);
return 0;
}
Das hat aber mehrere Probleme:
- Nur vorgegebene Auflösung
- ganzer Bildschirm ausgelesen
- kein Vergleich der Farben
Den Code habe ich nicht selbst geschrieben... denke aber man könnte darauf aufbauen.
Ich erwarte jetzt nicht, dass mir jemand hier ein fertiges Programm schickt
, aber ich würde mich freuen, wenn mir jemand die Befehle und deren Verwendung sagen könnte, mit denen ich den Rest erreiche Vielen Dank schon mal fürs lesen!