1.安装 html2canvas

 npm install html2canvas --save

2.案例

import React, { Component } from 'react';
import html2canvas from 'html2canvas';class Sales extends Component {constructor(props) {super(props);this.state = {isPrint: false,isInfo: false,};}componentDidMount () {const maxBoxDemo = document.getElementById('maxBox');const heights = document.body.clientHeight;maxBoxDemo.style.height = heights + 'px';}DPR = () => {if (window.devicePixelRatio && window.devicePixelRatio > 1) {return window.devicePixelRatio;} else {return 1;}}parseValue = (value) => {return parseInt(value, 10);}drawCanvas = async () => {// 获取想要转换的 DOM 节点const dom = document.getElementById('printHtml');// const dom = document.querySelector('printHtml');const box = window.getComputedStyle(dom);// DOM 节点计算后宽高const width = this.parseValue(box.width);const height = this.parseValue(box.height);// 获取像素比-防止模糊const scaleBy = this.DPR();// 创建自定义 canvas 元素const canvas = document.createElement('canvas');// 设定 canvas 元素属性宽高为 DOM 节点宽高 * 像素比canvas.width = width * scaleBy;canvas.height = height * scaleBy;// 设定 canvas css宽高为 DOM 节点宽高canvas.style.width = `${width}px`;canvas.style.height = `${height}px`;// 获取画笔const context = canvas.getContext('2d');// 将所有绘制内容放大像素比倍context.scale(scaleBy, scaleBy);// 将自定义 canvas 作为配置项传入,开始绘制return await html2canvas(dom, { canvas }).then(canvas => {//document.querySelector("#canvasContainer").appendChild(canvas);//return canvas.toDataURL("image/png");return canvas.toDataURL("image/png");});};render () {return (<div id='printHtml'><div onClick={this.drawCanvas}>dowmloadImg</div></div>);}
}export default Sales;

react中将html转成图片相关推荐

  1. XLSX文件中将url转换成图片写入

    XLSX文件中将url转换成图片写入 新建一个xlsx文件,将图片的url放置表格中 取消所有的文件格式,方便处理url转换图片 修改表格大小,方便存储图片,选中即将要转换的表格中的数据,将行高设置为 ...

  2. JavaScript实现React实现网页转换成图片截屏下载

    最近有项目的需求需要把网站内HTML内容转换成图片保存下载,找了一圈发现一个不错的插件HTML-to-image,npm 包地址:Html-to-image NPM | npm.io,该插件的原理是: ...

  3. c#中将pdf转换成图片(png,jpg....),无水印

    一:需要引用的主键: using O2S.Components.PDFRender4NET; 二:主要逻辑: /// <summary>/// PDF文档所有页全部转换为图片/// < ...

  4. Python中将字节流文件转换成图片文件

    Python中将字节流文件转换成图片文件 import urllib3 import os #PIL图像处理标准库 from PIL import Image from io import Bytes ...

  5. maya中将每帧渲染成图片,再用播放器播放

    1.polygen菜单栏,window->outliner,选中所有要渲染的物体 2.window->Rendering Editors->Hypershader mental ra ...

  6. JAVA PPT 柱状图_Java 将 PPT 形状(表格、文本框、心形、图表等)保存成图片

    MS PowerPoint中的表格.文本框.心形.图表.图片等均可以称为形状,将这些形状保存成图片,便可分类储存,方便日后查找,再利用. 本文将介绍如何使用 Spire.Presentation fo ...

  7. 05 react img css修改svg图片样式

    react img css修改svg图片样式 svg图片的相关理论 定义 优点 前端引入svg图片的方式 方式一:<svg>标签引入,内嵌到 HTML 中 方式二,修改svg的颜色 方式三 ...

  8. 使用 html2canvas 将页面保存成图片

    有时我们需要实现在浏览器端直接对整个或部分页面进行截屏,比如移动端常见的"长按网页保存为图片"功能.这个借助 html2canvas 这个第三方 js 库即可实现,下面通过样例演示 ...

  9. HTML表格无法保存图片,怎样将EXCLE表格或HTML保存为图片形式? | excle怎么存成图片的格式...

    怎样把图片中的表格转化到Excel 如何将EXCEL表格保存为图片(任何格式) 不能直接保存成图片,建议存成pdf 然后直接截图保存就行 个人偶尔会这么做,或者有时候页面不大的话,会直接qq截图保存 ...

最新文章

  1. Week02-Java基本语法与类库
  2. 现半透明的popupwindow
  3. [kuangbin] M - Find a way(简单广搜)
  4. python安装pyopenssl
  5. codeforces 932D Tree 倍增法+二分搜索
  6. Spring Cloud笔记-eureka及openfeign基本使用
  7. cocos2d-x的未来之旅
  8. python开发mes系统_MES系统开发
  9. vue和react对比
  10. SQL 优化推荐书单
  11. Flutter videoplayer
  12. Red5流媒体服务器的搭建与使用
  13. CCNA:IOS设备管理配置
  14. 100G多模光模块介绍及应用
  15. Python运行不显示DOS窗口方法
  16. IS_REACHABLE
  17. 游戏陪玩app开发,高并发系统如何设计?
  18. vscode 注释多行代码_如何在Visual Studio Code中注释多行?
  19. java的SSM框架的优点有哪些
  20. 在Chem 3D软件用什么方法可以改变背景

热门文章

  1. grain-Edu-Note part07 长流程调用设置
  2. 【shell编程之expr的使用】
  3. rotate函数css,CSS hue-rotate()用法及代码示例
  4. 没有买卖就没有杀害!大数据可视化技术解密全球象牙贸易黑幕
  5. 小熊读书:如何自我提升——《软技能》
  6. Java中sleep()方法和wait()方法的异同点
  7. EDA Tools 安装
  8. uploadify使用详解
  9. android palette组件用法,android Palette使用详解
  10. 类方法与实例方法的区别