Почему мой ImageBrush масштабирует мозаичное изображение?

StackOverflow https://stackoverflow.com/questions/1450376

  •  11-09-2019
  •  | 
  •  

Вопрос

У меня есть следующее объявление ImageBrush, которое я хочу использовать для рисования фона окна.

     <ImageBrush x:Key="Fondo" 
      ImageSource="Fondo.png"        
      Viewport="0,0,0.1,0.1" TileMode="Tile"/>

Если я устанавливаю его с помощью привязки StaticResource к свойству Background окна, кисть отображается правильно, но изображение масштабируется.Это поведение, которое мне не нужно, я хочу, чтобы приложение использовало изображение в его собственном разрешении и повторяло его по мере необходимости, чтобы заполнить фон окна, без какого-либо масштабирования.Я не знаю, что я делаю не так.

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

Спасибо за любую помощь

РЕДАКТИРОВАТЬ:Исправлено противоречие в вопросе

Это было полезно?

Решение

Нашел проблему.Изображение было в формате PNG с разрешением 72 точки на дюйм.Поэтому WPF масштабировал его в соответствии со стандартным разрешением 96 точек на дюйм.Проблема была не в коде.

Другие советы

Если вы знаете разрешение исходного изображения, вы можете установить значения ViewBox и ViewPort в пикселях.Установите для ViewBoxUnits и ViewPortUnits абсолютные значения, и вы сможете добиться желаемого эффекта.

<ImageBrush ViewBox="0,0,200,200" 
ViewBoxUnits="Absolute"
ViewPort="0,0,200,200"
ViewPortUnits="Absolute" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top