2011-01-02 2 views
0

파일에서 r8g8b8 팔레트를 추출합니다. 매우 쉽게 System.Drawing.Color 구조체로 변환 한 다음 SetPixel 메서드를 사용하여 Bitmap을 채우는 것처럼 보입니다.C#, 비트 맵, r8g8b8 및 b5g6r5 픽셀 데이터

하지만 그때 나는 b5g6r5 팔레트를 만났고 지금 어떻게해야할지 모르겠다. 해당 종류의 데이터로 Bitmap 클래스를 채울 수있는 방법이 있습니까?

새해 복 많이 받으세요!

답변

0

(대답 here에 설명 된대로) BGR565를 RGB888로 변환 한 후 RGB888 값으로 무엇을 했습니까?

+0

와우, 고마워요! – joe

+0

글쎄요, 문제가 생겼습니다. 2 바이트, b1과 b2 있습니다. 첫째로, i asume으로서, 청색 5 비트와 녹색 성분 3을 포함합니다. 두 번째 바이트는 5 비트의 빨간색과 3 개의 녹색 구성 요소를 포함합니다. 그래서 그 데이터를 3 바이트로 추출하는 방법 : r, g, b? :( – joe

+0

|, << 등등과 같은 비트 연산자를 사용해야합니다. b1이 최상위 바이트 인 경우 R = (b2 & 0x1F) << 3, G = (((b2 << 8) | b1) > > 2) & 0xFC 그리고 B = (b2 & 0xF8).이 모든 연산자를 설명하는 것은 제한된 분야에서 불가능합니다. –

관련 문제