如何从字节数组中读取8位位图像素颜色和位置

时间:2012-06-03 16:12:12

标签: c++ colors position byte pixel

我目前将8位位图的像素数据存储在一个字节数组中:BYTE* pixelData

我现在如何编写自己的函数来返回像素的位置?我已经做了大量的搜索,但没有找到任何使用C ++的内容。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

你不能,没有足够的数据。几乎所有8bpp像素格式都是索引格式。它们使用存储实际RGB颜色的颜色表,像素位置的字节是该表的索引。该表包含256个条目。

您还需要一个指向颜色表的指针。