我需要显示一个空的'对话框中的位图(RGBA通道的所有值均为零)。
粗略代码:
HWND img = ::GetDlgItem( hwnd_, 228 );
unsigned char* charFrame = new unsigned char[frame_height*frame_width*4];
HWND hImage = CreateWindow(L"STATIC", L"", WS_VISIBLE | WS_CHILD | SS_BITMAP,
0, 0, frame_width, frame_height, img, (HMENU)1,GetWindowInstance( hwnd_ ),0);
HBITMAP bmp1 = CreateBitmap(frame_width,frame_height,1,32,charFrame);
SendMessage(hImage, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM) (HANDLE) bmp1);
DeleteObject((HBITMAP)bmp1);
在上面的代码中, charFrame 变量是 unsigned char *指针,其所有值都设置为零。 hwnd _ 是窗口句柄。
执行代码片段时,发送BITMAP的窗口不显示图像的alpha内容。它显示黑色图像(R G B = 0 0 0)。
感谢任何帮助。