如何为BITMAP设置像素数据存储

时间:2013-12-21 14:56:36

标签: c winapi bitmap hbitmap

我有以下问题。 在某处我定义了用于存储位图像素的数组。

unsigned int table[512*512];

我希望这个数组用作数据。我找到了CreateBitmap(),但它没有按照预期的方式运行。而不是将指针绑定到我的表,它创建了我的数组的一种快照。

CreateBitmap(512, 512, 32, 1, table);

看起来像这样:

table[5000]=0x00FFFFFF;
PlaceWhereICreateBitmap();
table[5001]=0x00FFFFFF;
PlaceWhereIDisplayBitmap(); //only pixel no. 5000 is updated

我想显示两个更改。 我也一直在阅读有关SetDIBits的内容,但它将数组复制到位图对象。如何直接设置位图缓冲区?

1 个答案:

答案 0 :(得分:0)

查看 BitBlt 位块传输函数。

BitBlt(hDC, xDest, yDest, Width, Height, hMemDC, xSRC, ySRC, SRCCOPY);
谷歌的页面,不仅仅是 SRCCOPY