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

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 求C# .net4.8小报表工具
  • ¥15 安装虚拟机时出现问题
  • ¥15 Selenium+docker Chrome不能运行
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到
  • ¥15 请教一下,openwrt如何让同一usb储存设备拔插后设备符号不变?
  • ¥50 使用quartz框架进行分布式任务定时调度,启动了两个实例,但是只有一个实例参与调度,另外一个实例没有参与调度,不知道是为什么?请各位帮助看一下原因!!
  • ¥50 怎么获取Ace Editor中的python代码后怎么调用Skulpt执行代码
  • ¥30 fpga基于dds生成幅值相位频率和波形可调的容易信号发生器。
  • ¥15 R语言shiny包和ncdf4包报错