多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
* html部分 ~~~ <img id="hecheng_bg" style="display: none;"> <canvas id="myCanvas" width="400" height="534" style="display: none;"></canvas> ~~~ * js部分 ~~~ // 将图片转换成base64(不转换最后合成将失败) var bitmap = new plus.nativeObj.Bitmap('test'); var url = '../../../skin/img/1.1.0/qrcode/bg.png'; //转换图片地址 bitmap.load(url,function(){ // 创建画布 var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext('2d'); // 载入背景图 var base64 = bitmap.toBase64Data(); $('#hecheng_bg').attr('src',base64); var bg = document.getElementById('hecheng_bg'); ctx.drawImage(bg,0,0,400,534); // 载入二维码图 var qrcode_tmp = document.getElementById('qrcode_tmp'); ctx.drawImage(qrcode_tmp,70,20,260,260); var news = canvas.toDataURL(); //新图base64 // 保存至手机相册中 var fileName = '_downloads/image/greenolives_share_' + time() + '.png'; //保存地址 var dtask = plus.downloader.createDownload(news, {filename:fileName}, function(d, status){ // 下载完成 if(status == 200){ plus.gallery.save(d.filename, function () { sbh_note("保存成功" ); }); } }); dtask.start(); }); ~~~ * 注意 ~~~ 1.合成图必须都是base64才能进行最后合并 2.canvas画布需设置宽高,否则新图将被截断 ~~~