【发布时间】:2016-02-06 12:46:06
【问题描述】:
我想做的是通过 WINAPI 在 C++ 中创建国际象棋游戏,由于我从未在学校学习过它们,所以我遇到了一些问题(在线文档非常糟糕,我无法找到如何做到这一点的任何示例)在我的窗口内打印具有透明度的 .ico 文件。我已经设法用位图图像来做到这一点,但我的 Photoshop 不允许我保存带有 alpha 通道的 .bmp 文件,我必须使用 WINAPI 支持并允许透明度的东西(因此是 .ico)。
我的问题是,如何在我的窗口中绘制一个透明的 .ico 文件?
谢谢!
【问题讨论】:
-
@Jonathan Potter 你能举个例子吗?我已经找到了该功能,但无法弄清楚它是如何工作的。谢谢!
-
你知道怎么画棋盘吗?如果您设法做到这一点,那么您就会知道设备上下文是什么。在您的情况下,为了响应 WM_PAINT,您必须使用函数 DrawIconEx。您只需将您从 BeginPaint 获得的 HDC 传递给它,并协调您想要放置图标的位置。
-
@AlwaysLearningNewStuff:是的,我已经画好了我的棋盘,问题是放置所有的棋子。我得到的实际解决方案很糟糕,我必须为白色和黑色位置的所有部分获取位图,而且我不知道如何在不显示这些东西的情况下为它们设置动画,所以我想制作一个透明的背景图像,但是画不出来!
标签: winapi icons transparency draw alpha