Изменить размер изображения для использования в качестве кисти изображения - PullRequest
0 голосов
/ 03 февраля 2012

Я хочу

  • загрузка изображения с ресурса
  • Установите ширину изображения, пропорционально увеличивая его высоту.
  • Используйте это как кисть фона

Он не может определить часть "установка ширины".

Компромисс, который я сейчас использую, заключается в том, чтобы уменьшить его до половины. Это не то, что я в идеале хочу сделать, я хочу установить ширину в абсолютное значение, независимо от того, какой был исходный размер изображения.

<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 Ответ

1 голос
/ 03 февраля 2012

Самый простой способ сделать это - установить DecodePixelWidth / Height на само изображение.

...