Как я могу наложить одно изображение на другое?
Я хотел бы отобразить изображение, состоящее из двух изображений.
Мне нужно Изображение прямоугольника.png , чтобы показать с изображением наклейка.png на верхней ее части с ее левым углом в пикселе 10, 10.
Вот как далеко я зашел, но как я могу комбинировать изображения?
Image image = new Image();
image.Source = new BitmapImage(new Uri(@"c:testrectangle.png"));
image.Stretch = Stretch.None;
image.HorizontalAlignment = HorizontalAlignment.Left;
Image imageSticker = new Image();
imageSticker.Source = new BitmapImage(new Uri(@"c:teststicker.png"));
image.OverlayImage(imageSticker, 10, 10); //how to do this?
TheContent.Content = image;
2 ответа:
Вам нужна панель для добавления обоих элементов управления изображением. Сетка или холст позволят это, но я бы пошел с сеткой, поскольку она будет ограничивать элементы управления изображением (таким образом, растягивая или сжимая их по мере необходимости).
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;
Вы можете просто поместить один элемент управления изображением поверх другого элемента управления изображением в вашем представлении. Поместите оба изображения в сетку или холст и просто наложите одно изображение поверх другого. Это также позволяет использовать непрозрачность для смешивания и работает очень хорошо.
Если вам нужно поместить их в один образ, есть несколько вариантов....
Вы можете сделать WritableBitmap из первого изображения, а затем вручную "нарисовать" другие пиксели изображения поверх первого. Затем он может выступать в качестве источника изображения для вашего изображения на дисплее.
В качестве альтернативы, вы можете сделать наложение, о котором я упоминал выше, и визуализировать это в RenderTargetBitmap. Это может быть использовано в качестве источника изображения.