我正在尝试着色System.Windows.Controls.Image
。该图像包含透明区域,我只是想用颜色给非透明区域着色。
例如,图像是黑色/灰色,将其着色为红色会导致红色渐变,透明区域不受影响。
是否可以在 XAML 或背后的代码中(理想情况下)对 WPF 中的图像进行着色?
谢谢
<Image Name="OverlayImage" Canvas.ZIndex="2" />
示例图片:
如中所述这个答案 https://stackoverflow.com/questions/28247010/tint-a-partially-transparent-image-in-wpf,你可以使用Rectangle
进行着色。设置矩形的来源OpacityMask
与图像本身相同将确保透明位保持透明。
<Image
Source="{Binding MyImage}"
Width="150"
Height="150" />
<Rectangle Width="150" Height="150">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Color}"/>
</Rectangle.Fill>
<Rectangle.OpacityMask>
<ImageBrush ImageSource="{Binding MyImage}"/>
</Rectangle.OpacityMask>
</Rectangle>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)