我正在尝试在 .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);
关于c# - 将两张图片合成一张新图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371830/