如何将两个图像合并为一个?

问题描述:

我有一个大约70%的不透明度蒙版图像,我有另一个从服务器下载的图像。我怎样才能将他们重新绘制到单个图像上,下载的图像位于蒙版图像下方?我不想使用画布,因为我将使用合成图像进行全景背景,并且画布不起作用。如何将两个图像合并为一个?

事情是这样的:

using (Graphics grfx = Graphics.FromImage(image)) 
{ 
    grfx.DrawImage(newImage, x, y) 
} 

我试过,但没有运气:

 BitmapImage bmp = new BitmapImage(); 
     BitmapImage bi = new BitmapImage(); 

     ImageBrush imageBrush = new ImageBrush(); 
     ImageBrush imageBrush2 = new ImageBrush(); 

     bi.UriSource = new Uri("Images/MainPage/mask_bg.png", UriKind.Relative); 
     bmp.UriSource = new Uri("Images/MainPage/covertart_bg.jpg", UriKind.Relative); 

     TranslateTransform translate = new TranslateTransform 
     { 
      X = 0, 
      Y = 0 
     }; 
     imageBrush.ImageSource = bmp; 
     ImageCanvas canvas = new ImageCanvas(); 
     canvas.Background = imageBrush; 

     WriteableBitmap w_bitmap = new WriteableBitmap(1065, 800); 
     w_bitmap.Render(canvas, translate); 
     w_bitmap.Invalidate(); 

     imageBrush2.ImageSource = w_bitmap; 
     mainPanorama.Background = imageBrush2; 

使用来自WriteableBitmapEx项目

+0

只是通过文章阅读Blit方法,这么多的有用信息。谢谢马特你总是给出最好的答案:D –

+0

使用Blit我可以创造我想要的效果,但是有一个限制,我发布了一个新问题,请看一看 –