js利用canvas合成图片

转自 前端老徐
合成图片

//须引入jq function draw() { var base64=[]; var src = https://www.it610.com/article/$('#qrcode').find('img').attr('src'); var data = https://www.it610.com/article/['/wap/img/about.png', src]; //图片数组 var c = document.createElement('canvas'), ctx = c.getContext('2d'); c.width = 400; c.height = 400; ctx.rect(0, 0, c.width, c.height); ctx.fillStyle = '#fff'; ctx.fill(); var img = new Image; img.onload = function () { img.src = https://www.it610.com/article/data[0]; ctx.drawImage(img, 0, 0, 400, 400); //定位图片位置及大小 img.src=data[1]; ctx.drawImage(img, 100, 100, 200, 200); base64.push(c.toDataURL("image/jpeg", 0.8)); fn(); } return base64; //base64[0]即为图片的src }

递归方式合成图片
function hecheng(){ draw(function(){ document.getElementById('imgBox').innerHTML='【js利用canvas合成图片】合成图片成功!可以鼠标另存图片查看我是否是一张图片~~!
![]('+base64[0]+')'; }) }//图片的src var data=https://www.it610.com/article/['img1.png','img2.png','img3.png','img4.png'],base64=[]; function draw(fn){ var c=document.createElement('canvas'), ctx=c.getContext('2d'), len=data.length; c.width=290; c.height=290; ctx.rect(0,0,c.width,c.height); ctx.fillStyle='#fff'; ctx.fill(); function drawing(n){ if(n

    推荐阅读