我有一些images..if这些图像是选择的,然后它应该生成另一个图像,这是所有选择的图像的组合。有没有人能建议如何开始?谢谢
发布于 2010-04-01 19:12:40
像这样使用一些东西:
public void MergeImages(string FirstFileName, string SecondFileName)
{
Image firstImg = Image.FromFile(@"C:\temp\pic1.jpg");
Image secondImg = Image.FromFile(@"C:\temp\pic2.jpg");
Bitmap im1 = new Bitmap(firstImg);
Bitmap im2 = new Bitmap(secondImg);
Bitmap result = new Bitmap(im1.Width + im2.Width, (im1.Height > im2.Height) ? im1.Height : im2.Height);
Graphics gr = Graphics.FromImage(result);
gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear;
gr.DrawImage(firstImg, 0, 0);
gr.DrawImage(secondImg, im1.Width + 1, 0);
gr.Save();
result.Save(@"C:\test.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
}此代码将两个图像合并为一个,并将它们系统化为一行。
发布于 2010-04-01 21:10:36
我使用ImageMagick来做这些事情(http://www.imagemagick.org/Usage/layers/)
然而,它与使用gdi创建图像略有不同,但它是一种非常快速(当你习惯了imagemagick语法)和强大的图像编辑方式。
通常使用gdi在内存中编辑图像;imagemagick使用命令行工具创建图像。
例如,您希望在顶部分层两个图像,然后在代码中启动一个新进程,在该进程中使用正确的参数启动imagemagick进程,然后在磁盘上创建图像。然后,您可以使用response.writebinary为创建的镜像提供服务器。
https://stackoverflow.com/questions/2559614
复制相似问题