0

現在、8 ビット ビットマップのピクセル データをバイト配列に格納していますBYTE* pixelData

ピクセルの色をその位置で返すように独自の関数をコーディングするにはどうすればよいでしょうか? 私はかなりの量の検索を行いましたが、C++ を使用してこれをカバーするものは見つかりませんでした。

4

2 に答える 2

1
BYTE GetPixelColor(BYTE* src, int x, int y, int srcWidth)
{
    return src[y * srcWidth + x];
}

...
//suppose you have a 800 x 600 bmp, to get the color for pixel at x 30, y 200
BYTE color = GetPixelColor(src, 30, 200, 800);
于 2012-06-03T16:17:21.420 に答える
1

できません、十分なデータがありません。ほとんどすべての 8bpp ピクセル フォーマットはインデックス付きフォーマットです。実際の RGB カラーを格納するカラー テーブルを使用します。ピクセル位置のバイトは、そのテーブルのインデックスです。テーブルには 256 のエントリが含まれています。

また、カラー テーブルへのポインタも必要です。

于 2012-06-03T16:21:29.953 に答える