2011-08-26 12 views
12

私は異なる寸法を持つ2つのJPEGファイルを持っている:組み合わせる二つの画像

Image1の(WIDTH1、Height1)

Image2の(幅2、身長2)

私は画像3(Width3を作成したいです、高さ3)、Image1は左側、Image2は右側です。

答えて

34

このように、2つのオリジナル画像を並べて新しい画像が表示されます。

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; 
    } 
関連する問題