2011-08-26 129 views

回答

34

像這樣的東西會給你一個新的圖像與兩個原始圖像並排。

Bitmap bitmap = new Bitmap(image1.Width + image2.Width, Math.Max(image1.Height, image2.Height)); 
    using (Graphics g = Graphics.FromImage(bitmap)) 
    { 
     g.DrawImage(image1, 0, 0); 
     g.DrawImage(image2, image1.Width, 0); 
    } 
+1

是存儲在位圖對象的.DrawImage()調用的結果呢? –

+1

正確... g是位圖的圖形上下文。 – PaulB

6

我有類似的問題。 有了這個功能,你可以合併多個位圖的爲一個圖像

private Bitmap MergeImages(IEnumerable<Bitmap> images) 
    { 
     var enumerable = images as IList<Bitmap> ?? images.ToList(); 

     var width = 0; 
     var height = 0; 

     foreach (var image in enumerable) 
     { 
      width += image.Width; 
      height = image.Height > height 
       ? image.Height 
       : height; 
     } 

     var bitmap = new Bitmap(width, height); 
     using (var g = Graphics.FromImage(bitmap)) 
     { 
      var localWidth = 0; 
      foreach (var image in enumerable) 
      { 
       g.DrawImage(image, localWidth, 0); 
       localWidth += image.Width; 
      } 
     } 
     return bitmap; 
    } 
相關問題