GDI: pixelausgabe - warum funzt es nicht?
-
hi, hab mich leider ewig nichtmehr mit c beschäftigt, hab dementsprechend auch kaum mehr ahnung. also frag ich einfach mal drauf los:
#include "stdafx.h" #include <stdio.h> #include <windows.h> int main(int argc, char* argv[]) { HDC hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL); COLORREF p = GetPixel(hdcScreen,511,383); printf("val: %i %i %i\n", GetRValue(p),GetGValue(p),GetBValue(p)); return 0; }warum bekomm ich hier immer "0 0 0" raus?
vielen dank schonmal für jede hilfe
edit: ok an der stelle schein wohl was schwarzes gewesen zu sein

ich finde den löschen button nicht
-
pixartist schrieb:
edit: ok an der stelle schein wohl was schwarzes gewesen zu sein

Ne das hat damit nix zu tun
. Du erstellst hier nur einen Speicherkontext der kompatibel zum Bildschirm ist. Dieser HDC ist standardmäßig (vollständig) schwarz. Wenn Du die Farbe eines bestimmten Pixels auf dem Bildschirm ermitteln willst, musst Du wie folgt vorgehen (C++):#include <windows.h> #include <iostream> int main() { using namespace std; const int iX = 0, iY = 0; // Position auf dem Desktop HDC hdcScreen = GetWindowDC(NULL); COLORREF clrScreen = GetPixel(hdcScreen, iX, iY); cout << "(" << iX << "|" << iY << "), RGB(" << GetRValue(clrScreen) << ", " << GetGValue(clrScreen) << ", " << GetBValue(clrScreen) << ")" << endl; return (0); }