TransparentBlt显示图片,但不透明

急支糖浆123 2016-10-27 07:19:18
g_hdc=GetDC(hwnd);
g_hCharacter1=(HBITMAP)LoadImage(NULL,L"character1.bmp",IMAGE_BITMAP,535,650,LR_LOADFROMFILE);
g_mhdc=CreateCompatibleDC(g_hdc);
SelectObject(g_mhdc,g_hCharacter1);
TransparentBlt(g_hdc,0,WINDOW_HIIGHT-650,535,650,g_mhdc,0,0,535,650,RGB(0,0,0));
ReleaseDC(hwnd,g_hdc);

可以显示图片,显示图片周围都是黑色,可将黑色变透明就是不好使,为什么啊?
...全文
761 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
不知道我的 2020-03-17
  • 打赏
  • 举报
回复
窗口透明了解一下: LONG style = ::GetWindowLong(m_hWnd, GWL_EXSTYLE); style |= WS_EX_LAYERED; style = ::SetWindowLong(m_hWnd, GWL_EXSTYLE, style); SetLayeredWindowAttributes(RGB(0, 0, 0), 1, 1);
ooolinux 2016-10-27
  • 打赏
  • 举报
回复
显示图片周围都是黑色 —————————— 用PS打开图片看看RGB值,未必是RGB(0,0,0)。

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧