使用表达式混合更改png图像的颜色

时间:2013-07-19 09:24:27

标签: wpf expression-blend

这个问题可能有重复,但我没有找到解决问题的确切方法。

我有一张图片。图像源是一个名为add.png的png图像。 add.png的形状就像一个加号(+)符号。它的颜色目前是白色的。

当鼠标光标移过它时,我想将此白色更改为绿色。因此,我应该更改图像的哪个属性以更改其颜色。

我不想改变图像的来源。

修改:

为什么我不想更改图像源:

基本上我有一个矩形,我把图像放在上面。 在MouseOver和MouseLeave上,我使用ChangePropertyAction更改Rectangle的填充颜色。现在,当我点击图像时,我想更改其来源。

但是当我的程序运行时,我得到一个错误,说Windows资源管理器已停止工作。 当我看到错误的输出窗口时,我得到 System.NullReferenceException:对象引用未设置为对象的实例

1 个答案:

答案 0 :(得分:1)

这更容易。更改图像源。 你的选择在这里是有限的:通过从System.Windows.Media.Effects.Effect派生来创建自己的效果,将其称为ColorEffect并在那里实现颜色变化逻辑,类似的替代方案是创建单独的PixelShader效果但这比效果更复杂以上。 使用http://www.codeproject.com/Articles/237226/Image-Processing-is-done-using-WPF

中的图片处理