c++ - 如何在透明背景上绘制PNG?

标签 c++ windows graphics png gdi+

我有一个 WS_EX_LAYERED 样式的窗口,它的 alpha 颜色键为魔法粉色 (0xFF,0,0xFF)。 我正在尝试使用 GDI+ 在该窗口上绘制 PNG 图像,它在图标边缘(应用 alpha 混合的位置)周围显示粉红色阴影。
这是一个例子:

http://img834.imageshack.us/img834/8241/stackoverflow.png

如何使用真实背景(在我的窗口后面)alpha 混合而不是颜色键来绘制图像?

感谢帮助, 欧麦

最佳答案

一些要检查的点:

  1. 你见过the docs on MSDN吗? ?
  2. 您将哪些选项输入了您的 BLENDFUNCTION结构?
  3. 您如何加载 .png?
  4. 您的图片是否有 alpha channel ?

关于c++ - 如何在透明背景上绘制PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6019502/

相关文章:

在 Windows 上使用 C 清除命令提示符

windows - 在 Windows CMD FOR 循环中使用 youtube-dl 会去除非 ASCII 字符

windows - 如何从浏览器检测用户是否在远程桌面 session 中运行?

java - 损坏的 Java 3D 图形

java - 如何在java中将文本添加到图像中?

c++ - 将 std::vector 传递给修改输入数组的函数

c++ - 为什么 Vtables 在嵌入式平台上没有被正确实现?

c++ - 如何在 EXE 文件中找到要 Hook /绕行的函数地址?

c++ - OpenGL 的图形伪像?

c++ - 指向派生对象数组的基指针