繁体   English   中英

WPF-通过其ImageBrush不透明度蒙版调整矩形的大小

[英]WPF - Size rectangle by its ImageBrush opacity mask

我有一个具有ImageBrush不透明蒙版的矩形(基本上是一个彩色图标)。

这是我当前的代码:

<Rectangle Fill="Black">
  <Rectangle.OpacityMask>
    <ImageBrush ImageSource="/Path/To/Icon.png"/>
  </Rectangle.OpacityMask>
</Rectangle>

如果不为矩形设置固定的宽度和高度,则不会产生任何结果。 是否可以根据ImageBrush图像大小来调整矩形大小?

谢谢你的帮助。 抱歉,如果这是一个愚蠢的问题,我仍在学习WPF。

编辑 :澄清一下,我想要实现的是矩形的行为与此相同:

<Image Source="/Path/To/Icon.png"/>

应根据图像源文件的尺寸调整大小。

Stretch="None"保持图像大小。 ImageBrush大小调整绑定了ActualWidthActualHeight矩形。 如果我们不使用两者,结果是相同的。 在两种情况下,矩形都将调整为真正的ImageBrush大小。 希望我理解你的问题。

<Rectangle Fill="Black" Width="{Binding ActualWidth, ElementName=image}" Height="{Binding ActualHeight, ElementName=image}">
    <Rectangle.OpacityMask>
        <ImageBrush ImageSource="/Path/To/Icon.png" x:Name="image" Stretch="None">
        </ImageBrush>
    </Rectangle.OpacityMask>
</Rectangle>
 <Rectangle Width="{Binding ActualWidth, ElementName=image}" Height="{Binding ActualHeight, ElementName=image}">
    <Rectangle.Fill>
        <ImageBrush ImageSource="C:\Users\neeraj\Pictures\Img1.jpg" x:Name="image" Stretch="None">
        </ImageBrush>
    </Rectangle.Fill>
</Rectangle>

试试这个片段。 我不确定您为什么要填充黑色。 如果想法是周围有黑色,请在外部网格上使用Background =“ Black”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM