安装:

npm install html2canvas --save
npm i qrcanvas --save

html:

       <div><!-- 设置了两个块区域 当点击了生成海报时把canvas转换成base64的图片,然后把最开始当样式隐藏掉 把获取的的base64的地址赋值给src--><img v-if="!test" :src="imgSrc"   alt /><div v-else>
//src图片可以替换成自己想要的图片<img src="~@/images/invitation/theme_icon.png" alt /><div id="qrcode"></div><div id="invitation">测试数据啊,使用id,只生成这个内容啊</div>  <button @click="btn">点我生成</button><button @click="btn">保存到本地</button></div></div>

js:

<script>
//生成一个二维码
import { qrcanvas } from "qrcanvas";
//将整个页面转换成canvas
import html2canvas from "html2canvas";export default {data() {return {test: true,imgSrc: ""};},methods: {
//生成邀请函btn() {//生成一个二维码 data是二维码跳转的地址(写自己需要跳转的地址即可)// const canvas = qrcanvas({//data: location.href   //});//document.getElementById("qrcode").appendChild(canvas);
//此上部分去掉则不会生成二维码//点击生成canvas转换成base64的图片this.$nextTick(() => {const that = this;
//document.body生成整个页面的内容document.getElementById('invitation')生成某个id为invitation的内容html2canvas(document.getElementById('invitation')).then(function(canvas) {console.log(canvas.toDataURL());that.imgSrc = canvas.toDataURL();});//隐藏元素this.test = false;});},//保存邀请函到本地// 下载邀请函generatorImage() {let link = document.createElement("a");link.href = this.imgSrc;//下载链接link.setAttribute("download","邀请函.png");link.style.display = "none";//a标签隐藏document.body.appendChild(link);link.click();},}
};
</script>

参考网址:

https://blog.csdn.net/weixin_45389051/article/details/105493364

https://www.cnblogs.com/shcs/p/11960593.html

vue canvas画海报相关推荐

  1. 【学习随记】原生js canvas 画海报

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  2. 前端canvas画海报

    效果图 引用 想直接看效果的可以不传值 <QrcodePoster style="width: 100%;" ref="poster"></Q ...

  3. 微信小程序使用canvas画海报分享图

    项目场景: 很多小程序都会有一些分享海报的需求.因为我这边之前一直都是后端直接生成一张图片然后返回了的,我前端直接把路径放上去就可以了.但是,有时候后端没直接生成海报,而是只生成了一个二维码,这时候就 ...

  4. 微信小程序--canvas 画海报 转发好友 下载本地

    获取本地手机的屏幕宽高(宽高需要按照自己实际需求计算) toCanvas() {let that = thiswx.getSystemInfo({success: function(res) {con ...

  5. uniapp中使用canvas 画海报总结

    一.canvas 首先创建一个canvas标签,下面的事件是为了你点击海报的时候是会报错 的,你需要定义一个事件,return就可以了!如图: <canvas class="canva ...

  6. 【uniapp】canvas画海报保存图片兼容H5和APP

    APP.H5长按保存海报 海波实现如下: html <!-- #ifdef H5 --> <div class="app-h5-save-poster">& ...

  7. vue canvas画多边形

    第一个版本,只是单纯用来画多边形的,而且只能画一个. <template><div class="main"><div>这纷纷飞花,这纷纷飞花已 ...

  8. uniapp使用canvas画海报二维码

    目录 给定画布大小<在template内> 先引入js:js复制最下面的代码即可,用你的方法引入即可! 绘图:</

  9. 【修复日常bug】微信小程序canvas画商品海报出现个别用户无法生成的情况

    微信小程序,在使用canvas画海报的时候,会导致个别用户无法生成的情况,你们可以尝试把绘画某些块的代码注释掉再进行扫码调试,我前几天就遇到个别客户无法生成商品海报的情况,刚开始是以为上一个同事留的坑 ...

  10. canvas画圆、画带有圆角填充色的矩形

    canvas画海报圆形微信头像,包括紫色背景带有圆角的矩形方法 1.画圆 2.画填充色的带有圆角的矩形

最新文章

  1. SQL Server实用操作小技巧集合
  2. 多少线程太多? [关闭]
  3. python2和python3的主要区别
  4. 体验Rabbitmq强大的【优先级队列】之轻松面对现实业务场景
  5. 如何使用router-link对象方式传递参数?
  6. java中 IndexOf()、lastIndexOf()、substring()的用法
  7. Java获取文件的目录_Java获取文件目录(路径)的方式
  8. linux安装mysql8.0.18_详解mysql8.018在linux上安装与配置过程
  9. 在Windows系统搭建.NET Core环境并创建运行ASP.NET网站
  10. gigabyte计算机主板图解,技嘉主板BIOS如何设置及进入 技嘉主板BIOS设置图解教程(2)...
  11. Unity中实现VR摄像机
  12. Go-获取整形切片中的最大值最小值
  13. 数字人民币的基础:共识与信任
  14. 秦牧鸿蒙之体有什么用,第一五一二章 鸿蒙元气
  15. java绘制图片验证码两种方式实现,点击【图片】刷新和点击【看不清换一张】刷新
  16. 达梦:如何登录数据库(基础篇)
  17. java 导出复杂格式的 Excel 留着自己备用
  18. 中国国内可用API合集
  19. node-sass sass-loader版本对应问题
  20. SpringBoot+MangoDB查询操作(MongoTemplate)总结

热门文章

  1. hdl_graph_slam
  2. 中兴V899D ROOT教程
  3. 【JavaEE】网络原理——传输层协议:UDP和TCP
  4. CNC数控车床自动上下料机械手、汽车起重机、AGV小车SW、汽车摇臂钻孔机构solidwords设计、婴儿车设计、汽车起重器3D、轻型汽车转向系统、轿车麦弗逊式独立前悬架CATIA……
  5. Java实现 LeetCode 135 分发糖果
  6. 铂涛集团旗下长租公寓品牌窝趣完成近2亿元B轮融资
  7. html+盒子文字变字号,CSS设置对象盒子里部分文字大小为16px
  8. go语言smtp邮件代发服务
  9. 基于asp.net332公司项目管理系统
  10. sql技巧 纯转载有些有小瑕疵