api_SetPixel [erledigt]

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Marek

Betreff: api_SetPixel [erledigt]

BeitragMi, Jan 09, 2008 1:25
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Confused

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

BeitragMi, Jan 09, 2008 13:34
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jan 09, 2008 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey super, funktioniert Smile

Danke vielmals!

Mein Fehler war, dass ich immer versucht hab, es mit And statt Or wieder zusammenzusetzen Rolling Eyes
Schade nur das SetPixel nicht schnell genug ist um damit große Bilder perrmanent auf den Bildschirm zu zaubern...

Danke nochmal Very Happy
Wer lesen kann ist klar im Vorteil...

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group