0

有没有办法可以设置影响所有后续 GDI/GDI+ 调用的 Alpha 值?换句话说,我希望为Graphics对象上的所有调用设置透明度。

(我正在寻找类似于*Transform函数如何影响Graphics它们被调用的对象的东西)

4

1 回答 1

1

除非有什么我不知道的,否则 GDI 中没有实现此功能的工具。您是否正在寻找某种方法来更改在 GDI 上下文中绘制时使用的所有颜色的相对 alpha 值?我不认为这样的事情存在。

一个更好的主意可能是将您的颜色缓存在您自己的自定义存储库中,然后当您想要设置全局(或范围范围)的 alpha 值时,您可以使用它来操作这些颜色。显然,如果我有更多信息,我可能会想出一个更适合您的环境的解决方案,但这就是我可以根据问题中提供的内容提供的全部内容。

编辑

阅读您的评论后,我的建议是将您的绘画代码转换为一个函数,该函数接受一个Graphics对象、一个位置/大小(以及其他任何合适的,如果还不是这样的话)和一个透明度浮点数(范围从 0 - 1.0)。然后,您可以根据提供的透明度值在函数中创建颜色。

于 2009-05-11T12:52:35.823 回答