我目前将8位位图的像素数据存储在一个字节数组中:BYTE* pixelData
。
我现在如何编写自己的函数来返回像素的位置?我已经做了大量的搜索,但没有找到任何使用C ++的内容。
答案 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个条目。
您还需要一个指向颜色表的指针。