Объедините два изображения в одно изображение У меня есть два файла 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; }
Ответ 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; }