簡體   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