调整图像大小以用作图像画笔

时间:2012-02-02 22:48:31

标签: wpf xaml imagebrush

我想

  • 从资源加载图片
  • 设置图像宽度,确保按比例缩放图像高度。
  • 将其用作背景画笔

它无法弄清楚“设置其宽度”部分。

我目前正在使用的折衷方案是将其缩放到一半大小。这不是我理想的想法,我想将宽度设置为绝对值,无论原始图像大小是什么。

<BitmapImage x:Key="floorPlan"
        UriSource="/NavigationPathEditor;component/Images/CairnsFloorPlansCropped.png"/>

<TransformedBitmap x:Key="resizedFloorPlan" Source="{StaticResource floorPlan}">
    <TransformedBitmap.Transform>
        <ScaleTransform 
                CenterX="0"   CenterY="0" 
                ScaleX="0.5"  ScaleY="0.5" />
    </TransformedBitmap.Transform>
</TransformedBitmap>

<ImageBrush 
      x:Key="floorPlanBrush" 
      TileMode="None" Stretch="None" 
      AlignmentX="Left" AlignmentY="Top"
      ImageSource="{StaticResource resizedFloorPlan}" />

(顺便提一下,上面的代码在运行时工作,但在设计器中抛出错误)

1 个答案:

答案 0 :(得分:1)

最简单的方法可能是在图片上设置DecodePixelWidth / Height