api_SetPixel [erledigt]
Übersicht

MarekBetreff: api_SetPixel [erledigt] |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bei der Api-Funktion SetPixel komme ich (nach Stunden des probierens)nicht weiter:
Ich lese aus einem Bild per ReadPixelFast den Farbcode jedes einzelnen Pixels aus und will ihn dann per SetPixel(GetDC(0),x,y,rgb) auf den "Desktopbuffer" malen. Das mit dem auf den Desktop malen funktioniert sehr gut; nur die Farbe stimmt nicht ![]() Ich habe auch schon versucht einfach die Farbkanäle zu tauschen und zu schauen, was sich verändert... aber es kommt nie das gewünschte Ergebniss heraus... Kann mir jemand helfen? Danke im Vorraus! MfG Marek [Edit] SetPixel(GetDC(0),x,y,rgb And $00FFFFFF) Ergibt das ganze Bild, nur das rot und blau vertauscht sind! Weiß jemand wie man die vertauscht? [/Edit] |
||
Wer lesen kann ist klar im Vorteil... |
- Zuletzt bearbeitet von Marek am Mi, Jan 09, 2008 13:46, insgesamt einmal bearbeitet
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich vermute mal es liegt daran das BB mit RGB und das System mit BGR arbeitet. Ergo sind Rot und Blau vertauscht. Du musst also die einzelnen Farben auftrennen und in der richtigen "Reihenfolge" neu zusammenstellen.
Auseinandernehmen kannst du die Farben so: Code: [AUSKLAPPEN] R = ( RGB SHR 16 ) AND $FF
G = ( RGB SHR 8 ) AND $FF B = RGB AND $FF zusammensetzen geht dann so: Code: [AUSKLAPPEN] BGR = ( B SHL 16 ) OR ( G SHL 8 ) OR R
|
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
Marek |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey super, funktioniert ![]() Danke vielmals! Mein Fehler war, dass ich immer versucht hab, es mit And statt Or wieder zusammenzusetzen ![]() Schade nur das SetPixel nicht schnell genug ist um damit große Bilder perrmanent auf den Bildschirm zu zaubern... Danke nochmal ![]() |
||
Wer lesen kann ist klar im Vorteil... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group