html2canvas学习

官网:http://html2canvas.hertzen.com/

第一步:安装

  1. ​ 使用npm安装

    npm install html2canvas --save
    
  2. 使用yarn安装

    yarn add html2canvas

第二步:引入

import html2canvas from 'html2canvas'

第三步:使用

canvasToImg(){let that = this// 获取相应的canvasdom元素(id、class、tag)const dom = document.getElementById('idName')html2canvas(dom , {// 参数说明backgroundColor: null,userCORS: true,windowWidth: dom.scrollWidth,windowHeight: dom.scrollHeight}).then( canvas => {// 设置生成的图片格式let dataURL = canvas.toDataURL('image/png')console.log(dataURL)}).catch(err => {console.log(err)})
}

第四步:参数说明
名称                             默认值                  描述
allowTaint                    false                     是否允许跨源图像污染画布
backgroundColor         #ffffff                    画布背景颜色,如果没有在 dom 中指定。设置空为透明
canvas                         null                      现有的 canvas 元素作为绘图的基础
foreignObjectRendering    false              是否使用外部的样式渲染,如果浏览器支持它
imageTimeout             15000                 加载图像的超时(以毫秒为单位)。设置为0以禁用超时。
ignoreElements         (element) => false    该函数从呈现中移除匹配元素
logging    true    为调试目的启用日志
onclone    null    当文档被克隆以便呈现时调用的 callback 函数,可用于修改将要呈现的内容,而不影响原始源文档
proxy    null    Url 的代理,这是用来加载跨原的图像。
removeContainer    true    是否清除 html2canvas 临时创建的克隆 dom 元素
scale    window.devicePixelRatio    用于渲染的比例。默认为浏览器设备像素比例。
useCORS    false    是否尝试使用 cors 从服务器加载图像
width    width    画布的宽度
height    height    画布的高度
x    x-offset    画布的横向坐标
y    y-offset    画布的纵向坐标
scrollX    scrollX    
scrollY    scrollY    
windowWidth    Window.innerWidth    渲染元素的窗口宽度
windowHeight    Window.innerHeight    渲染元素的窗口高度

注:有些样式不支持,比如margin,所以取dom时尽量取最里程元素。

比如这张图片,我们就取红框元素所在dom。

vue项目使用html2canvas 元素生成图片相关推荐

  1. vue页面截图;H5页面截图;vue项目中将特定网页内容生成图片(截图);html2canvas截图

    功能: 1.兼容 PC 和 Mobile: 2.对指定的区域进行截取: 3.可以控制截图大小: 4.截图生成base64图片地址 一.安装插件 npm install html2canvas --sa ...

  2. 【Vue 项目】html2canvas + jspdf 实现将页面内容生成 PDF 及相关问题解决方案(页面被分页分割问题、html2canvas生成图片只有一半)

    由于在自己的工作和学习过程中,只查看某个大佬的教程或文章无法满足自己的学习需求和解决遇到的问题,所以自己在追赶大佬们步伐的基础上,又自己总结.整理.汇总了一些资料,方便自己理解和后续回顾,同时也希望给 ...

  3. 在vue项目中操作元素ref案例;

    原博主链接 <!--* @Description:会动的词云* @Author: Vergil* @Date: 2021-08-25 14:17:45* @LastEditTime: 2021- ...

  4. html2canvas在Vue项目踩坑-生成图片偏移不完整

    背景 最近做一个Vue项目需求是用户长按保存图片,页面的数据是根据不同id动态生成的,页面渲染完生成内容图片让用户长按保存的时候,把整个页面都保存起来. 在项目遇到的坑是图片能生成,可是生成的图片总是 ...

  5. html2canvas图片的文字偏移,html2canvas在Vue项目踩坑-生成图片偏移不完整

    背景 最近做一个Vue项目需求是用户长按保存图片,页面的数据是根据不同id动态生成的,页面渲染完生成内容图片让用户长按保存的时候,把整个页面都保存起来. 在项目遇到的坑是图片能生成,可是生成的图片总是 ...

  6. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传

    使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...

  7. 解决vue项目中@mousemove 事件 子元素触发了父元素事件

    在Vue项目中使用@mousemove事件从$event中获取x与y轴时 , 如果绑定此事件的元素内还有别的子元素那么同样会触发mousemove事件 , 但是$event.target会是这个子元素 ...

  8. 在vue项目中使用v-show控制元素隐藏导致swiper的轮播图及分页无法正常显示

    一.需求问题 在之前的项目开发中,使用了swiper插件.由于是vue项目,对于swiper的轮播图我们使用了v-show命令,进行动态隐藏与显示.只有当点击进行一些操作以后,swiper的轮播图才会 ...

  9. vue 项目 html2canvas,JSZip,FileSaver 下载图片

    将html里面的dom转化为图片 <template><div class="m-item" ref="imageTofile">... ...

最新文章

  1. 非计算机专业想学习Python,有哪些问题需要注意?
  2. scala class和object,trait的区别
  3. RandomAecessFile open failed: EISDIR (Is a directory)
  4. 一个简单的记事本程序
  5. OpenCV---图像金字塔原理
  6. 每日程序C语言17-打印出好看的菱形
  7. sts java配置tomcat_STS配置Tomcat.9.0
  8. linux 常用命令 杂记
  9. Oracle Linux 6.5 RPM安装Mysql 5.7.11
  10. QT项目六:简易客户信息管理系统
  11. 降雨量等值线图(一)——底图整饬
  12. 台湾文化记忆库网站现已正式上线
  13. 中国知网html如何复制,中国知网如何快速导出参考文献的格式? 来看看吧
  14. 能够可视化访问和查看H2数据库的工具
  15. ElasticSearch painless脚本实现自定义打分排序
  16. 这样定义通用人工智能
  17. ubuntu 磁盘管理工具 ---- GParted 图形化分区工具
  18. 数据库作业3:第二章课后题(关系数据库及相关概念)
  19. 把图片修改成指定的像素大小?
  20. 百度智能小程序SEO指南

热门文章

  1. jQuery随机上色
  2. 苹果iMessage垃圾短信泛滥成灾
  3. 实现一下几个简单的loader
  4. ES6新特性的学习和使用
  5. 2020长安杯镜像网站重构
  6. Stanford,Pupper,开源四足机器狗,电子电气组装接线
  7. word关闭时卡死_iPhone 应用卡死、无响应或无法退出怎么办?
  8. AutoIt按键发送列表
  9. 苏州经贸学院计算机,苏州经贸职业技术学院教务管理系统入口https://www.szjm.edu.cn/jwc/...
  10. fmask云检测 matlab_[转载]ENVI5.4中的云检测/掩膜工具