Tôi có hai tập tin JPEG với kích thước khác nhau:Kết hợp hai hình ảnh vào một hình ảnh mới
Image1 (Width1, Height1)
IMAGE2 (Width2, Height2)
Tôi muốn tạo image3 (Width3 , Height3) với Image1 ở bên trái và Image2 ở bên phải.
Tôi có hai tập tin JPEG với kích thước khác nhau:Kết hợp hai hình ảnh vào một hình ảnh mới
Image1 (Width1, Height1)
IMAGE2 (Width2, Height2)
Tôi muốn tạo image3 (Width3 , Height3) với Image1 ở bên trái và Image2 ở bên phải.
Một cái gì đó như thế này sẽ cung cấp cho bạn một hình ảnh mới với hai hình ảnh gốc cạnh nhau.
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);
}
Tôi gặp sự cố tương tự. Với chức năng này bạn có thể kết hợp nhiều Bitmap thành một hình ảnh duy nhất
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;
}
là kết quả của() cuộc gọi .DrawImage lưu trữ trong đối tượng bitmap? –
Chính xác ... g là ngữ cảnh đồ họa của bitmap. – PaulB