Vue 中使用 html2canvas 把 html 元素导出为图片

本文介绍了如何在Vue项目中使用html2canvas库进行网页截屏操作。首先通过npm安装html2canvas,然后引入并注册到组件中。接着展示了基本用法,以document.body为例进行截图。最后在Vue组件内,针对特定ID的元素进行截图,并生成图片,添加到页面供用户下载。示例代码详细解释了每个步骤,包括设置放大比例、背景颜色、处理模糊问题等选项。
摘要由CSDN通过智能技术生成

一、安装

npm install html2canvas

二、引入并注册 html2canvas

import html2canvas from 'html2canvas';

components: {
    html2canvas
}

三、基础使用,document.body 为要截图的元素

html2canvas(document.body).then(function(canvas) {
    document.body.appendChild(canvas);
});

四、Vue 中使用

// 给元素设置一个 id 方便获取该元素
<div @click="jieping" id="imageWrapper"> html2canvas </div>

// 导出图片
jieping() {
  this.$nextTick(() => {
    html2canvas(document.getElementById('imageWrapper'),{
      scale:3,      // 放大
      useCORS: true, // 使用CORS从服务器加载图像
      async: false, // 异步解析和呈现元素
      background: "#ffffff", // 背景颜色
      dpi: 300, // 处理模糊问题
    }).then(canvas => {
      const img = canvas.toDataURL("image/jpeg").replace("data:image/jpeg;base64,", "")
      const finalImageSrc = "data:image/jpeg;base64," + img
      // 添加a标签用于下载
      const aElem = document.createElement('a')
      document.body.appendChild(aElem)  // 223kb
      aElem.href  = finalImageSrc
      // 图片下载名
      aElem.download = "组织机构图.jpg"
      aElem.click()
      document.body.removeChild(aElem)
    });
  })
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值