|
|
1
10
要在分层窗口中执行“正确”alpha,需要通过调用为窗口管理器提供一个pargb位图。
我所知道的最干净的方法是:
此方法应允许您控制绘制的所有内容的alpha通道:对于背景是透明的,对于文本和按钮是不透明的。
另外,由于您将要输出文本,我建议您调用
|
|
|
2
3
我怀疑你需要两个顶层的窗口而不是一个-一个是阿尔法混合的窗口,另一个是显示在第一个窗口上面的不透明文本和按钮,但是背景是透明的。要使用单个窗口完成此操作,需要使用 UpdateLayeredWindow API调用,但使用它将导致按钮在与交互时无法重新绘制(悬停突出显示、焦点等)。 如果此应用程序仅适用于Vista,则可能有一个新的API调用可以使用,但我认为它在XP或更早版本中不可用。 |
|
|
3
0
我不能肯定地说,您需要尝试它,但由于所有东西都是一个窗口,您可以尝试为按钮设置分层属性,使其不透明。 对于文本,您可以将其放置在自己的框架中,设置背景和前景颜色,并修改其分层属性,使背景颜色透明… 但由于这些都是儿童窗口,而不是顶级窗口,我真的不知道它会起作用。 |
|
|
F.Fipoo · 如何将屏幕截图写入PNG? 8 年前 |
|
|
DonBoitnott · 将图标转换为Png 9 年前 |
|
|
techno · 调整图像大小保持纵横比白线边框 10 年前 |
|
|
Ian Boyd · 如何将GDI+位图放置到剪贴板上? 10 年前 |
|
|
wenz · 查找点是否位于DrawBezier函数创建的Bezier线上 10 年前 |
|
|
Vadims Samsinovs · 重绘图像的最有效方法 12 年前 |
|
|
DanyR · 如何在gdi中正确绘制地图坐标+ 12 年前 |