[vue] 导出图片

npm install --save html2canvas
import html2canvas from "html2canvas"
    create_image() {
      let shareContent = this.$refs.capture //需要截图的包裹的(原生的)DOM 对象
      let canvas = document.createElement('canvas') //创建一个canvas节点
      let scale = 1 //当前节点的1倍像素
      // let scale = 1.5 //当前节点的1.5倍像素
      // let scale = window.devicePixelRatio //视网膜屏幕,设备像素比,好的显示器是2,普通显示器的是1。
      canvas.width = shareContent.offsetWidth * scale //获取dom 宽度* 定义canvas 宽度 * 缩放
      canvas.height = shareContent.offsetHeight * scale //获取dom 高度*定义canvas高度 *缩放
      canvas.getContext('2d').scale(scale, scale) //获取context,设置scale
      html2canvas(shareContent, {
        dpi: window.devicePixelRatio,
        scale: scale, // 添加的scale 参数
        useCORS: true,
        canvas: canvas, //自定义 canvas
        logging: true, //日志开关
      }).then((canvas) => {
        canvas.toBlob(
          function (blob) {
            const eleLink = document.createElement('a')
            eleLink.download = `《导出的名字》.png`
            eleLink.style.display = 'none'
            eleLink.href = URL.createObjectURL(blob)
            document.body.appendChild(eleLink)
            eleLink.click()
            document.body.removeChild(eleLink)
          },
          'image/png',
          1
        )
      })
    },

参考:

vue 导出图片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值