【发布时间】:2011-06-21 10:55:14
【问题描述】:
我希望将透明的 PNG 图像作为 ImageSource 转换为尊重 PNG 透明度的 System.Drawing.Icon。
如果您将窗口的图标设置为 PNG ImageSource,WPF 可以在内部以某种方式执行此操作,但是有什么方法可以手动执行此操作吗?具体来说,我需要这个来设置系统托盘通知图标,我真的想避免使用笨拙的 .ico 格式资源。
【问题讨论】:
-
附带说明,windows vista+ 支持实际为 PNG 格式的 .ico 文件。这对你有用吗? blogs.msdn.com/b/oldnewthing/archive/2010/10/22/10079192.aspx
-
除非 .NET 中有一些实用程序/功能,我可以使用这些实用程序/功能从 PNG 即时构建 .ico... 很高兴知道,寿。
-
@chaiguy 你看过使用hardcodet.net/projects/wpf-notifyicon 来做 WPF 系统托盘的东西吗?
-
@MerickOWA 这实际上是我正在使用的库 - 它的问题是它希望图标资源是 System.Drawing.Icon 并且如果不是,则会抛出异常,因此我的麻烦。
-
@chaiguy TaskBarIcon.IconSource 属性不是声明为 ImageSource 吗?