我正在使用HardCodet.NotifyIcon.Wpf在系统托盘中显示状态图标。我需要更改图标,所以我不能使用资源文件作为图标。我有一个用户控件,希望在我的应用程序中绘制该控件,希望将该控件的视觉效果用作任务栏图标的来源。除了托盘上的图标的背景为黑色而不是透明的,我可以进行所有操作。如果我画一个矩形,颜色就会显示出来。我尝试将矩形颜色设置为透明,但结果是黑色。我得到的最接近的解决方法是尝试绘制背景以匹配任务栏颜色。我找不到获取任务栏颜色的方法,并且窗口标题颜色要浅一些(在下面的示例代码中使用)。这是我到目前为止使用各种搜索摘录获得的代码。
anotherArray
有没有办法做到这一点?
This similar question didn't have any answers that worked in my situation.
答案 0 :(得分:1)
BmpBitmapEncoder
不支持透明度。请改用PngBitmapEncoder
:
var encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(rtb));
...