WebCodeLad 2021-09-18 00:39 采纳率: 58.3%
浏览 89
已结题

H5页面生成二维码 和一张图片拼接生成一张不重叠在一起的海报

请教一个问题 ,有没有知道h5页面我点击按钮后生成在弹层上的海报,(二维码和一张图片拼接生成一张不重叠在一起的海报 )
有红包报答

  • 写回答

4条回答 默认 最新

  • 二哈冬 2021-09-18 10:40
    关注

    可以用canvas绘制成图片后保存,下边是代码,请根据平台进行修改,微信小程序可能需要下载图片,因为你是两张图所以我就不写绘制文字的代码了
    画布(canvas)对象有一个非常有用的方法:toDataURL()。这个方法能把画布里的图案转变成base64编码格式

    //获取canvas元素
    var c=document.getElementById("canvas");
    //创建canvas对象
     var ctx=c.getContext("2d");
    //我的图片是直接在html通过img引入这 这两行代码是保证图片加载完成,你可以直接使用下载文件的方法进行下载
     var img=document.getElementById("tulip");
     img.onload = ()=>{
          //图片加载完成进行绘制,注意必须确保图片加载完成,位置可以根据自己的需求更改,如果有设备兼容问题的话,建议动态
    //算  根据canvas的进行动态绘制也可以
         ctx.drawImage(img,20,20);
    }
    // 这是图片base64码,toDataURL()不传参数生成png图片
     let base64 =  c.toDataURL("image/jpeg")
         var a = document.createElement("a");
        a.href = base64 ;
    //下載名称
        a.download = 123123;
        a.click();
    

    然后就下载完成了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月31日
  • 已采纳回答 3月23日
  • 创建了问题 9月18日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵