好久没有写博客了,一上来,居然点击快要破万了,有点成就感呢,哈哈哈~
最近做了一个微信活动的页面,需求是这样:有一张静态的图片预先传在网上,在canvas上以它作为底图。另外要针对每个用户生成一个特有的二维码图片,叠在底图上。最后把绘制好的canvas转成img形式,使长按二维码可以识别。
需求很简单,但还是踩了一些坑,这里把技术要点列出来。
生成二维码,采用了jquery.qrcode插件,api貌似只有table和canvas两种渲染方式,有人查到了可以直接出image,但我在github上的readme里只看到了这两种,所以就用canvas渲染出图。然后dataToURL转成image,由于不知道具体何时能渲染出来,用settimeOut隔了350ms再去取。但感觉还是挺快的,貌似即时就可以取到。
img的onload过程,就是把src赋给它的过程。onload回调函数 应当先写,再最后赋给src。如多张图片存在先后次序,比如要先画img1再画img2,那代码大致如此
var img1 = new Image(),
img2 = new Image()
img1.onload = function()<