美文网首页vue
操作dom 把页面转为图片并下载

操作dom 把页面转为图片并下载

作者: 你这个锤子 | 来源:发表于2022-10-08 09:01 被阅读0次

原理:
1,通过命令 npm i html2canvas,引用 html2canvas 的包,它可以将页面DOM元素生成 canvas 元素;然后使用 canvas 的 toDataURL(‘image/jpeg’) 方法,将 canvas 元素生成图片base64格式的 url;
2,动态创建一个 a 标签,将 上面获取到的 url 添加给 a 标签的 href 属性,然后模拟 a 标签点击,即可实现图片下载。

<template>
  <div>
    <!-- 点击部分 -->
    <button @click="generateImages">点击生成图片并将图片保存在本地</button>
    <!-- 要生成的图片的内容区域 -->
    <div class="content"></div>
    <!-- 要生成的图片的展示区域 -->
    <div class="openimage"></div>
  </div>
</template>
<script>
import html2canvas from 'html2canvas'
methods: {
  // 此处以 card 部分内容为例,假设我们要将 card 整个 div 的内容区域变为图片
  generateImages () {
     // 图片参数设置
    const opts = {
        scale: scale, 
        canvas: canvas, 
        logging: true, 
        width: width, 
        height: height,
        backgroundcolor: '#FFFFFF',
        useCORS: true   // 用于解决图片跨域
    };
    html2canvas(document.querySelector('.content'),opts).then(canvas => {
      const imgUrl = canvas.toDataURL('image/jpeg')
      const image = document.createElement('img')
      image.src = imgUrl
      // 将生成的图片放到 类名为 content 的元素中,展示图片
      document.querySelector('.openimage').appendChild(image)
         // 下载图片
      const a = document.createElement('a')
      a.href = imgUrl
      // a.download 后面的内容为自定义图片的名称
      a.download = 'study_download'
      a.click()
     })
  }
}
</script>

相关文章

  • 操作dom 把页面转为图片并下载

    原理:1,通过命令 npm i html2canvas,引用 html2canvas 的包,它可以将页面DOM元素...

  • 页面dom节点转图片下载

    前端页面导出功能:1.前端页面画出的html节点2.html节点转图片3.file-saver下载步骤:1.下载h...

  • react diff算法

    diff算法的作用? 计算出虚拟dom中变化的部分,并只针对该部分进行原生dom的操作,而不是对整个页面重新渲染。...

  • 性能、打包题目

    前端性能优化 页面DOM节点太多,会出现什么问题?如何优化? DOM太多会造成页面加载卡顿, 操作DOM节点 在外...

  • 重绘和重排性能优化

    重绘和重排 1.1 DOM树和渲染树 浏览器下载完页面中的所有组件、HTML标记,javascript,css图片...

  • JS第七天-03

    DOM DOM树结构关系代码示例: 一、JS中标签关系 二、JS操作页面标签 三、JS操作DOM一般步骤 1、创建...

  • Vue通过html2canvas实现页面生成图片

    安装html2canvas 在页面中引入 点击截图按钮后生成图片并下载到本地,但是打开图片之后发现,页面中原有的图...

  • 使用Python获取页面图片信息并下载图片

    近期个人需要在一些网页上获取图片,因一张张图片保存实在麻烦,研究了下使用Python自动化获取并下载图片,以下是研...

  • 对后端返回的一堆字符串实现图片懒加载

    需求:对后端返回的一堆字符串实现图片懒加载(react-ssr项目)方案一:将字符串转为DOM对象在内存中操作,操...

  • weBug 4.0 第12关 dom型xss

    dom型是有点特殊的xss,它是基于DOM文档对象模型的操作,通过前端脚本修改页面的DOM节点形成的XSS,该操作...

网友评论

    本文标题:操作dom 把页面转为图片并下载

    本文链接:https://www.haomeiwen.com/subject/xikwartx.html