RGB konvertieren
-
Hallo,
wahrscheinlich eine Sache, die die meisten von Euch im Schlaf beantworten können, aber ich stehe leider gerade auf dem Schlauch.
Ich möchte einen RGB555-Wert, also
xRRR RRGG GGGB BBBBin RGB888 konvertieren und umgekehrt, also so:
RRRR RRRR GGGG GGGG BBBB BBBBbzw. drei unsigned Bytes mit dem jeweiligen Farbwert.
Wäre jemand so nett, mir ein wenig auf die Sprünge zu helfen? Vielen Dank!
-
TdZ schrieb:
Wäre jemand so nett, mir ein wenig auf die Sprünge zu helfen? Vielen Dank!
Ohne jetzt selbst darüber weiter nachzudenken, würde ich mal tippen das du mittels Binärer Operationen (Shift/Und) weiter kommen solltest.
unsigned int i = 0x0F; // ...00001111 i << 1; // ...00011110cu André
-
ja, man macht das mit shiften (>>, <<) und maskieren (&) und natürlich addieren bzw. verodern (+, |).
noch ein tip: wenn du 5 "R" bits zu 8 R bits aufblasen willst bekommst du ein schöneres erbegnis wenn du nicht "R5 R4 R3 R2 R1 0 0 0" als rot wert nimmst, sondern "R5 R4 R3 R2 R1 R5 R4 R3".
-
Ich danke euch für die Antwort! Naja, zugegeben, das mit dem Shiften war mir bereits klar, mein Problem liegt darin, dass ich ziemlich wenig Erfahrung mit bitweisen Operationen habe und ich z.B. nicht wusste, wie ich aus einem 5-Bit Wert 8 Bit mache.
Aber das wurde von Euch ja schon prima erklärt
