GetPixel
-
hallo,
zb.
ich bin in einen spiel
und wenn ein bestimmter punkt (x und y coords habe ich) zb blau wird oder ist
dann soll er meinen code ausführen nur ich weiß nicht wie das geht
hab mir GetPixel angeschaut aber veersteh es nichtmfG,
help me
-
Help Me schrieb:
[...]
ich bin in einen spiel
[...]N bissl konkreter wenn's geht...API-Basis ? OpenGL, DirectX, WinAPi(
) ?Hängt von der verwendetetn Grafikbibliothek ab.
in WinAPI gehts recht einfach, hier ein einfaches Beispiel:
// HDC holen: HDC hdcDesktop = GetDC(GetDesktopWindow()); // Pixelfarbe ermitteln: COLORREF crExtracted = GetPixel(hdcDesktop, X-Position, Y-Position); // Hier müssen natürlich korrekte Interger stehen... // einzelne Farbwerte extrahieren, wenn nötig: BYTE byRed, byGreen, byBlue; byRed = GetRValue(crExtracted); byGreen = GetGValue(crExtracted); byBlue = GetBValue(crExtracted); // HDC wieder freigeben: ReleaseDC(hdcDesktop);
-
also basis ist :
DirectX
mfG,
help me
-
sry für double post:
nochmal zu :
// HDC holen: HDC hdcDesktop = GetDC(GetDesktopWindow()); // Pixelfarbe ermitteln: COLORREF crExtracted = GetPixel(hdcDesktop, X-Position, Y-Position); // Hier müssen natürlich korrekte Interger stehen... // einzelne Farbwerte extrahieren, wenn nötig: BYTE byRed, byGreen, byBlue; byRed = GetRValue(crExtracted); byGreen = GetGValue(crExtracted); byBlue = GetBValue(crExtracted); // HDC wieder freigeben: ReleaseDC(hdcDesktop);wie kann ich da zb in nen file mit fopen usw... reinschreiben die :
Hex - Wert
Dezimal - Wertund dann zb vergleichen
if(GetPixel(x,y) == 0x000000) { printf("muh"); }
ty for hilfe und daas mit DirectX vergessen
mfG,
help me
-
Wenns für DirectX ist, ist das hier das falsche Forum. Lass dich mal ins Spieleprogrammierungs-Forum verschieben.
Dann noch:
wie kann ich da zb in nen file mit fopen usw... reinschreiben die :
Hex - Wert
Dezimal - WertWo ist das problem ?
-
Falls du es noch nicht hast:
HWND hwnd = NULL; HDC hdc = GetDC(hwnd); COLORREF farben = GetPixel(hdc,x,y); int r = GetRValue(farben); int g = GetGValue(farben); int b = GetBValue(farben); //so kannst du den farbwert bestimmen, glaub so war esgeht aber auch einfacher:
if(GetPixel(hdc,x,y) == RGB(r,g,b)) { //mache etwas }
-
Gordon11111 schrieb:
Falls du es noch nicht hast:
HWND hwnd = NULL; HDC hdc = GetDC(hwnd); COLORREF farben = GetPixel(hdc,x,y); int r = GetRValue(farben); int g = GetGValue(farben); int b = GetBValue(farben); //so kannst du den farbwert bestimmen, glaub so war esgeht aber auch einfacher:
if(GetPixel(hdc,x,y) == RGB(r,g,b)) { //mache etwas }Mir ging es um die Extrahierung der Farb-Komponenten.