将html(dom)转成图片的常用库推荐

1、html2canvas: 对css3部分不支持

    这个网上推荐比较多,但是对css3部分不支持,复杂页面比较恼火

    文档地址: https://html2canvas.hertzen.com/getting-started

    使用

    npm install html2canvas

    importhtml2canvasfrom'html2canvas'

html2canvas(document.body).then( function(canvas){         // 将canvas转换成Base64格式的图片         const dataURL =     canvas.toDataURL('image/png')          // 创建FormData对象并添加File数据              

    const formData = new FormData()

    formData.append('file', dataURLtoFile(dataURL, id + '.png')       

  // 上传文件

});

2.dom-to-image :比html2canvas支持的css3多点

    溢出元素也会被裁剪,对图片的一些样式支持不是很好

    地址: https://github.com/tsayen/dom-to-image

npm install dom-to-image

/* in ES 6 */ import domtoimage from 'dom-to-image'; 

/* in ES 5 */ var domtoimage = require('dom-to-image');

var node = document.getElementById('my-node'); 

domtoimage.toPng(node) .then(function (dataUrl) { 

     var img = new Image(); 

     img.src = dataUrl; 

    document.body.appendChild(img);

}).catch(function (error) { console.error('oops, something went wrong!', error); });

3. html-to-image: 在dom-to-image上做的一些扩展,对html5,css3能更好的支持

    比较推荐这个插件

     https://github.com/bubkoo/html-to-image

npm install --save html-to-image

import * as htmlToImage from 'html-to-image';

import { toPng, toJpeg, toBlob, toPixelData, toSvg } from 'html-to-image';

var node = document.getElementById('my-node');

htmlToImage.toPng(document.getElementById('my-node')).then(function (dataUrl) {

    download(dataUrl, 'my-node.png');

 });

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容