遇到一个需求,生成的二维码要和背景图片和成新的图片
思路,将二维码图片和背景图通过canvas画在一个画布,在把canvas转换成图片,如果你的二维码是canvas,你可以先用方法2把二维码转成图片,再过一次1,2方法
1:将二维码图片和背景图通过canvas画在一个画布
var invit_img = convertImageToCanvas(image, image2);//此参数不能是jq对象,要原生的
function convertImageToCanvas(image, image2) {
// 创建canvas DOM元素,并设置其宽高和图片一样
var canvas = document.createElement("canvas");
//画布尺寸
canvas.width =640;
canvas.height =640;
// 坐标(0,0) 表示从此处开始绘制,相当于偏移。
canvas.getContext("2d").drawImage(image,0,0);
//参数:图片,左偏移,上偏移,宽,高(二维码)
canvas.getContext("2d").drawImage(image2,415,50,160,160);
return canvas;
};
2:将合成的二维码转换成图片
var mycanvas1 = document.getElementsByTagName('canvas')[0];
var img = convertCanvasToImage(mycanvas1);
function convertCanvasToImage(canvas) {
var image =new Image();
image.src = canvas.toDataURL("image/png");
return image;
}
网友评论