哪位高手能告诉小弟我界面的位图信息在内存的哪里
谁能告诉我界面的位图信息在内存的哪里
或许应该问要修改内存的哪里能修改界面显示的内容?
就进行内存操作.
实现的功能不多,就把一张bmp图片显示出来.
然后修改这张bmp在内存的像素信息,显示的就改变.
最好能给一段简单的代码.谢谢了
------解决方案--------------------
或许应该问要修改内存的哪里能修改界面显示的内容?
就进行内存操作.
实现的功能不多,就把一张bmp图片显示出来.
然后修改这张bmp在内存的像素信息,显示的就改变.
最好能给一段简单的代码.谢谢了
------解决方案--------------------
- C/C++ code
BYTE * g_pBits;
HDC g_hMemDC;
HBITMAP g_hBmp, g_hOldBmp;
g_hMemDC = ::CreateCompatibleDC(dc.GetSafeHdc());
BYTE bmibuf[sizeof(BITMAPINFO) + 256 * sizeof(RGBQUAD)];
memset(bmibuf, 0, sizeof(bmibuf));
BITMAPINFO* pbmi = (BITMAPINFO*)bmibuf;
pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
pbmi->bmiHeader.biWidth = 255;
pbmi->bmiHeader.biHeight = 255;
pbmi->bmiHeader.biPlanes = 1;
pbmi->bmiHeader.biBitCount = 24;
pbmi->bmiHeader.biCompression = BI_RGB;
g_hBmp = ::CreateDIBSection(g_hMemDC, pbmi, DIB_RGB_COLORS, (void **)&g_pBits, 0, 0);
if (!g_hBmp)
{
::DeleteDC(g_hMemDC);
}
g_hOldBmp = (HBITMAP)::SelectObject(g_hMemDC, g_hBmp);
------解决方案--------------------
那你要修改RGB值了