今天需要导出图片,由于是使用canvas承载碎图流显示,js拼写后导出,结果由于加载顺序问题问题会造成浏览器崩溃,或者导出图片碎掉。于是查找后台方法,经测试发现使用Graphics对象可以解决
int width=0;//最终要生成的图片宽
int height=0;//最终要生成的图片高
int x=0;//坐标
int y=0;//坐标
var finalImg = new Bitmap(width, height);
Image imagef = Image.FromStream(mem); //mem为读取的图片流
Graphics g = Graphics.FromImage(finalImg);//铺入背景图片
g.DrawImage(imagef, new Point(x, y));//存入第一张图片
Image image = Image.FromStream(mem);//第二章图片流
g.DrawImage(image, new Point(x1,y1));//x1,y1为第二章图片起始坐标
finalImg.Save(filepath);//filepath图片地址,之后对背景图片操作即可
通过此种拼接方式可以解决拼碎图输出问题。