我一人,我异人,我亦人

导航

div界面元素生成图片

首先明确一下需求,界面上截取部分元素,生成图片,用户可以长按保存。主要是在微信里,所以设计到生成二维码的问题。

1、链接生成二维码,这里用qrcode生成,搜索可以搜到相关的js文件

var myUrl = 'http://test.....';
$(".share_qrcode div.code").qrcode({
    render: "canvas", 
    width: 120, //设置宽高
    height: 120,
    text: myUrl //url地址
});

2、选取部分代码生成canvas,将canvas转换为图片

var ele = document.getElementById("tacitGrade"); //选取的元素
   html2canvas($("#tacitGrade")[0]).then(function(canvas) {
  document.getElementById("canvas").appendChild(canvas);  //生成canvas
  var imgSrc = $("#canvas canvas")[0].toDataURL("image/png");  //canvas生成图片
  $("#img").attr('src', imgSrc);
 });

3、测试了一下,可以保存图片,二维码页可以加载出来,

这里存在一个问题是在微信里 在生成的图片并没有保存时直接长按识别二维码,不能识别,但是只是界面元素,即在canvas生成图片的前一步可以正确识别二维码并跳转。

解决方案是生成图片并设置透明度,即扫描时的二维码是当之前的图片,长按保存的图片是生成后的整体图片。

posted on 2018-05-02 10:11  苏小十~  阅读(1531)  评论(0编辑  收藏  举报