24ビットRGBカラー(1色あたり8ビット)を8ビットカラー(2ビットブルー、3グリーン、3レッド)に変換する最良の方法は何でしょうか。これを行うためのCコードが欲しいのですが。
16111 次
3 に答える
7
8ビットRGBは通常、インデックス付き(パレット化)カラーフォーマットです。パレット(コンピューティング)を参照してください。
ただし、説明したように、24bppから8bppを取得するのは非常に簡単です。最下位ビットを削除し、ピクセルごとにビットを1バイト値にマージする必要があります。AFAIKは、標準またはよく知られたピクセルカラー表現ではありません。
于 2011-10-05T06:59:26.440 に答える
2
Cではなくjavascriptで。
encodedData = (Math.floor((red / 32)) << 5) + (Math.floor((green / 32)) << 2) + Math.floor((blue / 64));
于 2014-08-12T07:18:28.663 に答える
0
8ビット[0〜255]の値を3ビット[0、7]に変換するには、0は問題ありませんが、255を7に変換する必要があるため、式はRed3 = Red8*7/255である必要があります。
24ビットカラーを8ビット(RRRGGGBB)に変換するには、
8bit Color = (Red * 7 / 255) << 5 + (Green * 7 / 255) << 2 + (Blue * 3 / 255)
于 2016-06-17T05:56:20.577 に答える