Alpha通道不适用于RGBA BITMAP

时间:2016-04-19 15:04:34

标签: c++ winapi bitmap

我需要显示一个空的'对话框中的位图(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)。

感谢任何帮助。

0 个答案:

没有答案