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

忘是亡心i 2022-09-04 07:49 341阅读 0赞

一、安装

  1. npm install html2canvas

二、引入并注册 html2canvas

  1. import html2canvas from 'html2canvas';
  2. components: {
  3. html2canvas
  4. }

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

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

四、Vue 中使用

  1. // 给元素设置一个 id 方便获取该元素
  2. <div @click="jieping" id="imageWrapper"> html2canvas </div>
  3. // 导出图片
  4. jieping() {
  5. this.$nextTick(() => {
  6. html2canvas(document.getElementById('imageWrapper'),{
  7. scale:3, // 放大
  8. useCORS: true, // 使用CORS从服务器加载图像
  9. async: false, // 异步解析和呈现元素
  10. background: "#ffffff", // 背景颜色
  11. dpi: 300, // 处理模糊问题
  12. }).then(canvas => {
  13. const img = canvas.toDataURL("image/jpeg").replace("data:image/jpeg;base64,", "")
  14. const finalImageSrc = "data:image/jpeg;base64," + img
  15. // 添加a标签用于下载
  16. const aElem = document.createElement('a')
  17. document.body.appendChild(aElem) // 223kb
  18. aElem.href = finalImageSrc
  19. // 图片下载名
  20. aElem.download = "组织机构图.jpg"
  21. aElem.click()
  22. document.body.removeChild(aElem)
  23. });
  24. })
  25. },

发表评论

表情:
评论列表 (有 0 条评论,341人围观)

还没有评论,来说两句吧...

相关阅读