Объедините два изображения в одно изображение
У меня есть два файла JPEG с различными размерами:
Изображение1 (ширина1, высота1)
Изображение2 (ширина2, высота2)
Я хочу создать Image3 (Width3, Height3) с Image1 с левой стороны и Image2 справа.
Ответы
Ответ 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;
}