C# 在WPF中,如何在图像上绘制矩形而不使颜色褪色和透明?
我在WPF中有一个图像控件,希望在更改不透明度时在图像上创建高亮显示,而不会使矩形的颜色褪色。这就是我希望它看起来的样子: 但我明白了: 这是我现在的代码C# 在WPF中,如何在图像上绘制矩形而不使颜色褪色和透明?,c#,wpf,xaml,C#,Wpf,Xaml,我在WPF中有一个图像控件,希望在更改不透明度时在图像上创建高亮显示,而不会使矩形的颜色褪色。这就是我希望它看起来的样子: 但我明白了: 这是我现在的代码 <Grid> <Image x:Name="img" Stretch="Uniform" VerticalAlignment="Top" Hor
<Grid>
<Image
x:Name="img"
Stretch="Uniform"
VerticalAlignment="Top"
HorizontalAlignment="Center"
RenderOptions.BitmapScalingMode="HighQuality"
UseLayoutRounding="True"
Source="Images/Doc.bmp" />
<Canvas>
<Rectangle
Width="300"
Fill="Yellow"
Opacity=".5"
Height="100"
Canvas.Top="200"
Canvas.Left="100" />
</Canvas>
</Grid>
要创建第一幅图像的效果,我需要对矩形做什么?这无法处理图像顶部的填充矩形。如果您能够将BMP转换为具有透明背景的PNG,则可以将矩形放在图像后面。否则,您唯一的选择就是修改位图的像素值。您认为这可以在WPF中实现吗@克莱门斯