1

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

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 的信息,但它将数组复制到位图对象。如何直接设置位图的缓冲区?

4

1 回答 1

0

看一下BitBlt位块传输函数。

BitBlt(hDC, xDest, yDest, Width, Height, hMemDC, xSRC, ySRC, SRCCOPY);

谷歌页面,不仅仅是SRCCOPY

于 2013-12-21T20:07:09.147 回答