Как я могу наложить одно изображение на другое? - PullRequest
9 голосов
/ 19 марта 2010

Я хотел бы отобразить изображение, состоящее из двух изображений.

Я хочу, чтобы изображение rectangle.png показывалось с изображением sticker.png на верхней части с левым углом 1012 * в пикселях 10, 10.

Вот, насколько я понял, но как мне объединить изображения?

Image image = new Image();
image.Source = new BitmapImage(new Uri(@"c:\test\rectangle.png"));
image.Stretch = Stretch.None;
image.HorizontalAlignment = HorizontalAlignment.Left;

Image imageSticker = new Image();
imageSticker.Source = new BitmapImage(new Uri(@"c:\test\sticker.png"));

image.OverlayImage(imageSticker, 10, 10); //how to do this?

TheContent.Content = image;

Ответы [ 2 ]

12 голосов
/ 19 марта 2010

Вам нужна панель для добавления обоих элементов управления изображением. Сетка или холст позволят это, но я бы пошел с сеткой, поскольку она будет ограничивать элементы управления изображением (тем самым растягивая или уменьшая их в зависимости от ситуации).

Image image = new Image();
image.Source = new BitmapImage(new Uri(@"c:\test\rectangle.png"));
image.Stretch = Stretch.None;
image.HorizontalAlignment = HorizontalAlignment.Left;

Image imageSticker = new Image();
imageSticker.Source = new BitmapImage(new Uri(@"c:\test\sticker.png"));
imageStiker.Margin = new Thickness(10, 10, 0, 0);

Grid grid = new Grid();
grid.Children.Add(image);
grid.Children.Add(imageSticker);

TheContent.Content = grid;
2 голосов
/ 19 марта 2010

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

Если вам нужно поместить их в одно и то же изображение, есть несколько вариантов ....

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...