如何将一个图像叠加到另一个图像上?

Edw*_*uay 9 c# wpf overlay image image-processing

我想显示由两个图像组成的图像.

我希望image rectangle.png在它上面用image sticker.png显示,其左侧角落在像素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;
Run Code Online (Sandbox Code Playgroud)

Abe*_*cht 13

您需要一个Panel来添加两个Image控件.Grid或Canvas将允许这样,但我会使用Grid,因为它将约束Image控件(从而适当地拉伸或缩小它们).

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;
Run Code Online (Sandbox Code Playgroud)