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

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 本地运行的vue2项目,使用内网穿透,前端界面一直转圈圈
  • ¥20 powerbuilder datawindow控件导出Excel数据,可不可以不自动覆盖原数据,而是在后面新插入入数据。
  • ¥100 无轴承永磁同步电机控制
  • ¥15 eps里添加本地倾斜模型
  • ¥15 telegram 问题
  • ¥15 nrf52810-c三个a 程序
  • ¥15 lego-loam跑出来的roll误差很大
  • ¥50 求一个半透明没有锯齿的圆角窗体的实现例子
  • ¥15 STM32cubeMX里的FreeRTOS无法释放内存
  • ¥15 CATIA有些零件打开直接单机确定终止