JohnnyEnglish
Grünschnabel
Ich quäle mich gerade mit einem kleinen Stück Code, das in bisher 3 verschiedenen Varianten noch nie funktioniert hat.
Ich möchte eine 24-bit-RGB-Farbe (0xRR, 0xGG, 0xBB) in eine 8-bit(6-bit)-Farbe umwandeln (00BBGGRR binär).
Folgender Code hat nicht funktioniert:
Input: 3 einzelne Bytes Rot, Grün und Blau
Output (bColor): 1 Byte mit je 2 bit pro Farbe
Ich möchte eine 24-bit-RGB-Farbe (0xRR, 0xGG, 0xBB) in eine 8-bit(6-bit)-Farbe umwandeln (00BBGGRR binär).
Folgender Code hat nicht funktioniert:
Code:
struct RGBColor24
{
BYTE Red;
BYTE Green;
BYTE Blue;
};
void SetPixel(WORD wX, WORD wY, const struct RGBColor24 *pstrColor)
{
BYTE bColor;
bColor = (pstrColor->Red / 64);
bColor |= (pstrColor->Green / 64) << 2;
bColor |= (pstrColor->Blue / 64) << 4;
pbVGAMemory[wY*320 + wX] = bColor;
return;
}
Input: 3 einzelne Bytes Rot, Grün und Blau
Output (bColor): 1 Byte mit je 2 bit pro Farbe
Zuletzt bearbeitet: