Combine two Images into one new Image

后端 未结 3 1112
暗喜
暗喜 2020-11-29 07:57

I have two JPEG files with different dimensions:

Image1 (Width1,Height1)

Image2 (Width2,Height2)

I want to create Image3 (Width3, Height3) with Image

3条回答
  •  一向
    一向 (楼主)
    2020-11-29 08:14

    You can try it

    library you need using

    using System.Drawing; using System.Drawing.Imaging; //controller

    public ActionResult Image()     
        {
            var bitmap = GetBitmap(); // The method that returns List
            var width = 0;
            var height = 0;
            foreach (var image in bitmap)
            {
                width += image.Width;
                height = image.Height > height
                    ? image.Height
                    : height;
            }
            var bitmap2 = new Bitmap(width, height);
            var g = Graphics.FromImage(bitmap2);
            var localWidth = 0;
            foreach (var image in bitmap)
            {
                g.DrawImage(image, localWidth, 0);
                localWidth += image.Width;
            }
    
            var ms = new MemoryStream();
    
            bitmap2.Save(ms, ImageFormat.Png);
             var   result = ms.ToArray();
             //string base64String = Convert.ToBase64String(result); 
             return File(result, "image/jpeg"); //Return as file result
            //return base64String;
        }
    //this method returns List
    public List GetBitmap()
        {
            var lstbitmap = new List();
            var bitmap = new Bitmap(@"E:\My project\ProjectImage\ProjectImage\BmImage\1525244892128.JPEG");
            var bitmap2 = new Bitmap(@"E:\My project\ProjectImage\ProjectImage\BmImage\1525244892204.JPEG");
            var bitmap3 = new Bitmap(@"E:\My project\ProjectImage\ProjectImage\BmImage\3.jpg");
            lstbitmap.Add(bitmap);
            lstbitmap.Add(bitmap2);
            lstbitmap.Add(bitmap3);
            return lstbitmap;
        }
    

    Good luck!

提交回复
热议问题