首页 > 其他分享 >html2canvas使用文档

html2canvas使用文档

时间:2024-01-24 20:23:30浏览次数:27  
标签:画布 false 渲染 元素 Element html2canvas 文档 使用

安装

npm install html2canvas
or
yarn add html2canvas

引入

import html2canvas from 'html2canvas'

使用

<div ref="canvasDom">
  <h4>Hello world!</h4>
</div>

const canvasDom = this.$refs.canvasDom
this.$toast.loading('生成中...')
html2canvas(canvasDom, {
          dpi: 300, // 解决生产图片模糊
          useCORS: true,
          allowTaint: false,
          logging: false,
          scale: 2,
          windowHeight: this.$refs.businessCard.$el.offsetHeight + 40
        })
          .then((canvas) => {
            this.canvasImg = canvas.toDataURL('image/png')
            this.$toast.clear()
            this.$refs.businessCardShare.open(this.canvasImg)
          })
          .catch(() => {
            this.$toast.clear()
          })
      })

配置项

名称	默认值	描述
allowTaint	false	是否允许跨源图像污染画布
backgroundColor	#ffffff	画布背景色(如果在DOM中未指定),为透明设置null
canvas	null	用作绘图基础的现有画布元素
foreignObjectRendering	false	如果浏览器支持ForeignObject渲染,是否使用它
imageTimeout	15000	加载图像超时(毫秒),设置为0可禁用超时
logging	true	为调试目的启用日志记录
proxy	null	用于加载跨源图像的代理的Url。如果留空,则不会加载跨原点图像。
removeContainer	true	是否清除html2canvas临时创建的克隆DOM元素
scale	window.devicePixelRatio	用于渲染的比例。默认为浏览器设备像素比率。
useCORS	false	是否尝试使用CORS从服务器加载图像
width	Element width	画布的宽度
height	Element height	画布的高度
x	Element x-offset	裁剪画布x坐标
y	Element y-offset	裁剪画布y坐标
scrollX	Element scrollX	渲染元素时要使用的x滚动位置(例如,如果元素使用位置:fixed)
scrollY	Element scrollY	渲染元素时要使用的y轴滚动位置(例如,如果元素使用位置:fixed)
windowWidth	Window.innerWidth	渲染Element时使用的窗口宽度,这可能会影响Media查询等内容
windowHeight	Window.innerHeight	渲染Element时使用的窗口高度,这可能会影响Media查询等内容

如何忽略某部分内容

可以设置data-html2canvas-ignore="true"忽略某些元素

<div class="btns" data-html2canvas-ignore="true">需要忽略的元素</div>

标签:画布,false,渲染,元素,Element,html2canvas,文档,使用
From: https://www.cnblogs.com/wjs0509/p/17985779

相关文章

  • 使用 For each 循环替换xelement操作中断
     使用Foreach循环替换xml元素xelement时,只能操作一个然后就中断了.是因为修改了枚举组自身,导致foreach中断.  解决方案: 在枚举组添加ToArray转换为数组或列表后再进行操作. ForEachbrAsXElementInSelectorXe.......
  • NOI Linux 系统使用的笔记
    我为什么现在才会用啊。不知道是谁去年THUSC时不会用,导致用代码没法编译运行。终端的指令首先,几个常用的编译指令,在终端(Terminal)里使用。编译指令ls(list),会列出当前所在文件夹的所有子文件夹。cdname,访问子文件夹特别的,返回到上级目录夹用以下指令:cd..编辑器接下......
  • charles的安装和使用
    一、安装charlesformaccharles4.0.2免费下载:链接:https://pan.baidu.com/s/1MVdnfslLhMTeSy_phrp2jA提取码:25mr(上次分享的不小心删了不好意思)下载好后,解压,将安装包拖到应用程序里,双击进行安装,(谁都会哈哈),然后重点来了,记好笔记!!!打开后,会提示还有30天使用期限,没事,在强大的......
  • 百度地图开发使用汇总
    地图开发使用汇总百度官网:https://map.baidu.com/开发平台:https://lbsyun.baidu.com/高德官网:https://www.amap.com/开发平台:https://lbs.amap.com/腾讯官网:https://map.qq.com/开放平台:https://lbs.qq.com/百度地图基本操作应用类型:浏览器javascriptapi应用......
  • 【linux学习】使用_nmon_工具对系统进行监控
    【linux学习】使用_nmon_工具对系统进行监控原创:厦门微思网络 【微思2002年成立,专业IT认证培训21年!】 我们主要课程:思科、华为、红帽、ORACLE、VMware、CISP、PMP等认证培训及考证。......
  • vue3中使用animate.css+wow.js
    官网链接:animatewow.js版本声明:"dependencies":{"vue":"^3.3.11","animate.css":"^4.1.1","wow.js":"^1.2.2"},1.安装:npminstallanimate.css--savenpminstallwow.js......
  • Python三方库:Pika(RabbitMQ基础使用)
    Python有多种插件都支持RabbitMQ,本文介绍的是RabbitMQ推荐的Pika插件。使用pip直接安装即可pipinstallpika。一、RabbitMQ简介1.MQ简介MQ(MessageQueue,消息队列),是一个在消息传输过程中保存消息的容器,多用在分布式系统之间进行通信。MQ优势应用解耦:提高系统容错性和可......
  • 查询MySQL数据库所使用的空间
    SELECTtable_schema                AS'数据库',   sum(table_rows)               AS'记录数',   sum(TRUNCATE(data_length/1024/1024,2)) AS'数据容量(MB)',   sum(TRUNCAT......
  • Net Core中使用EF Core连接Mysql数据库
    EntityFrameworkCore的前身是微软提供并主推的ORM框架,简称EF,其底层是对ADO.NET的封装。EF支持SQLServer、MYSQL、Oracle、Sqlite等所有主流数据库。首先是使用时的几个模式的整理及其理解:CodeFirst:根据代码自动创建数据库表结构甚至是数据库,可以支持多库开发,代码较少冗余,由......
  • 使用SM.MS做MarkDown图床(Python脚本)
    缘起曾经写过一篇使用博客园做MarkDown图床的文章,好像也帮助到了很多小伙伴;从那时起,我也是一直把博客园当图床来用的,挺惭愧。一方面,白嫖博客园,而博客园的现状也不太好;另一方面,免费总是有风险的,以前有些文章里的图片链接是语雀或者Gitee的,但是现在这些图片都挂掉了。我想,是时......