将两个图像合并为一个新图像
本文关键字:图像 一个 新图像 两个 合并 | 更新日期: 2023-09-27 18:16:30
我正在尝试在。net中复制imagecopy PHP函数。我有两个图像,我需要合并成一个新的图像。一个图像是一个模板,我需要适合第二个图像到模板,然后将结果保存为一个新文件。以下是目前为止的内容:
//Sized Image
Bitmap sizedImg = (Bitmap)Image.FromFile(Server.MapPath("~/ImageUploads/") + sizedImageName);
sizedImg.MakeTransparent(Color.White);
//Template Image
Bitmap template = (Bitmap)Image.FromFile(Server.MapPath("~/Assets/img/frame_sm.jpg"));
//Combine the two
Graphics newImage = Graphics.FromImage(template);
newImage.DrawImage(sizedImg, 96, 12, 232, 230);
newImage.Save();
//Save the new image
string fileName = String.Format("{0}_sizedFB.jpg", originalImageName.Substring(0, originalImageName.IndexOf("_")));
//? Save
首先,这是将两个图像合并为一个图像的正确代码吗?如果是这样,如何将新映像保存到磁盘?
谢谢。
首先,你必须从打开的模板文件中创建一个新的位图,以便不修改模板,而是基于模板创建一个新的图像。
Bitmap template = (Bitmap)Image.FromFile(Server.MapPath("~/Assets/img/frame_sm.jpg"));
Bitmap newimage = new Bitmap(template);
然后在这个新图像上绘制你的图像:
Graphics newImage = Graphics.FromImage(newimage);
newImage.DrawImage(sizedImg, 96, 12, 232, 230);
最后将新图像保存到指定文件:
string fileName = String.Format("{0}_sizedFB.jpg", originalImageName.Substring(0, originalImageName.IndexOf("_")));
newImage.Save(fileName, ImageFormat.Png);