Bytes vertauschen (z.B. AA00BB = BB00AA) -wie?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

x-pressive

Betreff: Bytes vertauschen (z.B. AA00BB = BB00AA) -wie?

BeitragSo, Feb 01, 2004 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein Problem: ich habe eine Variable mit folgendem Wert:

val = $AA00BB

und möchte die beiden äusseren Bytes vertauschen, das mittlere jedoch unberührt lassen:

$BB00AA

Wie kann ich das anstellen?

Zur Erklärung: ich möchte einen Farbwert mit ReadPixel() auslesen und diesen einer API-Funktion übergeben, die einen RGB-Wert in folgendem Format verlangt:

$BBGGRR

Momentan benutze ich folgendes:

colr = READPIXELFAST(x,y) And $00FFFFFF

Bei dem Wert, den ich so erhalte ($RRGGBB), müssten aber noch die R- und B-Werte vertauscht werden, damit ich sie der API-Funktion übergeben kann ($BBGGRR). Ein bisschen verzwickt, nicht?
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

René Meyer

BeitragSo, Feb 01, 2004 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
wert = $123456

links  = wert And $FF0000
rechts = wert And $0000FF
mitte  = wert And $00FF00

fertig = (links / 65536) + mitte + (rechts * 65536)

Print Hex$(fertig)
WaitKey
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb

x-pressive

BeitragSo, Feb 01, 2004 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Super -danke dir! Smile
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group