'Bitmap'에 해당되는 글 1건

  1. 2008.04.19 Bitmap / 16bit rgb565 to 24bit RGB888 (2)

void Conv16bit565_TO_24bitRGB(USHORT rgb565, BYTE *r, BYTE *g, BYTE *b)
{
 // 16비트로 RGB를 표현하는 RGB 565에서 R,G,B값을 각각 분리해낸다.
 // 각 비트를보면 다음과 같이 되어있다.
 // RRRRRGGGGGGBBBBB (R: Red, G: Green, B: Blue)

 BYTE red = (rgb565 & 0xF800) >> 11;
 BYTE green = (rgb565 & 0x7E0) >> 5;
 BYTE blue = (rgb565 & 0x1F);

 *r = red << 3;
 *g = green << 2;
 *b = blue << 3;
}

그러므로 24bit -> 16bit -> 24bit 식으로 변환해보면 red, green, blue에서 각각 3,2,3 비트씩 손실이 일어나는 것임을 알 수 있다.
(이렇게 단순히 비트를 죽이는 방법 말고 다른 방법을 쓴다면 조금 더 살릴 수 있을 진 모르겠다.)
RRRRRRRRGGGGGGGGBBBBBBBB 에서
XXXRRRRRXXGGGGGGXXXBBBBB 으로


16bit rgb 555 에서는?

XRRRRRGGGGGBBBBB 이렇게 16bit를 구성 (X는 더미비트)

32bit XRGB 에서는?
XXXXXXXXRRRRRRRRGGGGGGGGBBBBBBBB

Posted by freezn
TAG ,