在C#中从多个图像创建一个图像

时间:2014-05-12 20:42:21

标签: c# .net image bitmap

我需要将多个图像组合成一个图像。我设法做到了。 但是,我需要这些图像在最终图像中具有特定位置。要做到这一点,我需要使用Bitmap with Graphics,但是,我对如何做到这一点有点困惑。

例如:

我有4个图像文件(img1.png,img2.png,img3.png,img4.png),我需要在指定的像素坐标处创建一个包含这四个图像的单个图像:

  1. img1.png尺寸:顶部= 20px,左边= 30px,宽度:70px,高度:50px
  2. img2.png尺寸:顶部= 70px,左边= 80px,宽度:50px,高度:30px
  3. img3.png尺寸:顶部= 120px,左边= 30px,宽度:110px,高度:80px
  4. img4.png尺寸:顶部= 12px,左边= 200px,宽度:70px,高度:90px

1 个答案:

答案 0 :(得分:1)

首先使用总宽度和宽度创建图像。高度。需要计算宽度和宽度要在单个图像上拼接的图像的高度。现在使用下面的代码来拼接:

using (Bitmap bmp = new Bitmap(cal_width, cal_height))
{
    using (Graphics g = Graphics.FromImage(bmp))
    {
        g.DrawImage(img1,x1,y1,w1,h1);
        g.DrawImage(img2, x2, y2, w2, h2);
        g.DrawImage(img3, x3, y3, w3, h3);
        g.DrawImage(img4, x4, y4, w4, h4);
    }
}

bmp将显示所需的图像。 x1y1 ... x4y4是您开始放置图片的左上角的位置。这些位置需要分别计算到最终图像。同时放置宽度和宽度。使用w1h1 ... w4h4生成图像的高度。