将两个图像合并为一个新图像

use*_*313 14 .net c# image bitmap

我有两个不同尺寸的JPEG文件:

Image1(宽度1,高度1)

Image2(宽度2,高度2)

我想创建Image3(Width3,Height3),左侧是Image1,右侧是Image2.

Pau*_*ulB 44

这样的东西会给你一个新的图像与两个原始图像并排.

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


Pas*_*lsz 14

我遇到了类似的问题.使用此功能,您可以将多个位图合并为一个图像

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