Подтвердить что ты не робот

Объедините два изображения в одно изображение

У меня есть два файла JPEG с различными размерами:

Изображение1 (ширина1, высота1)

Изображение2 (ширина2, высота2)

Я хочу создать Image3 (Width3, Height3) с Image1 с левой стороны и Image2 справа.

4b9b3361

Ответ 1

Что-то вроде этого даст вам новое изображение с двумя оригинальными изображениями рядом.

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);
    }

Ответ 2

У меня была аналогичная проблема. С помощью этой функции вы можете объединить несколько Bitmap в одно изображение

    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;
    }