Как я могу установить фоновое изображение для повторения? - PullRequest
5 голосов
/ 26 мая 2011

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

В настоящее время я делаю это:

<Grid.Background>
    <ImageBrush ImageSource="Images/mainBg.png" Stretch="UniformToFill" />
</Grid.Background>

Но это взрывает изображение и делаетшум выглядит ужасно.Я хотел бы, чтобы изображение повторялось по осям X и Y, чтобы заполнить пространство, которое оно может.

Возможно ли это?

Ответы [ 2 ]

5 голосов
/ 26 мая 2011

Краткий ответ:
Нет возможности создавать плитки изображений на телефоне.

Длинный ответ:
Вы не должны даже пытаться это по телефону. Поскольку (суммируя) вы знаете изображение, которое вы хотите выложить на плитку во время разработки, вы должны создать увеличенное изображение, которое включает мозаичный эффект во время разработки. Это уменьшит объем работы, необходимой вашему приложению, и позволит ему работать быстрее.

Если вы действительно должны сделать это во время выполнения. Вы можете добавить число, если изображения внутри WrapPanel (из набора инструментов Silverlight). Возможно, вы захотите поэкспериментировать с установкой источника каждого изображения из кода позади к тому же в памяти экземпляра изображения, чтобы сэкономить ресурсы / память. (Это всего лишь мысль - проверь это! - это может даже не быть проблемой.)

1 голос
/ 26 мая 2011

Вы должны использовать этот код

  <ImageBrush ImageSource="xyz.png" Stretch="None" TileMode="Tile"/>

К сожалению, TileMode работает только в WPF. Выглядит для меня странное решение Microsoft. Увеличенное изображение означает потерю памяти. Плюс у вас проблема портрета / пейзажа. WrapPanel тоже не кажется хорошим решением.

...