[JavaScript] 利用html2canvas实现dom元素转图片下载

安装html2canvas依赖

npm install --save html2canvas

导入

import html2canvas from ‘html2canvas‘

使用

let container = document.getElementById(‘views-container‘)
html2canvas(container, {
   width: container.clientWidth,
   height: container.clientHeight,
   backgroundColor: ‘#0f3050‘,
   ignoreElements: (element) => { // 忽略不被绘制的dom元素
     return element.className === ‘tool product-view-tool‘
   }}).then(canvas => {
     let src = canvas.toDataURL(‘image/jpg‘, 1)
     let image = new Image()
     image.src = src
     let url = image.src.replace(/^data:image\/[^;]/, ‘data:application/octet-stream‘)
     let a = document.createElement(‘a‘)
     a.download = ‘产品图.jpg‘ // 设置下载的文件名,默认是‘下载‘
     a.href = url
     document.body.appendChild(a)
     a.click()
     a.remove() // 下载之后把创建的元素删除
 })

原文地址:https://www.cnblogs.com/frost-yen/p/12199718.html

时间: 2024-11-13 01:02:46

[JavaScript] 利用html2canvas实现dom元素转图片下载的相关文章

html2canvas根据DOM元素样式实现网页截图

html2canvas根据DOM元素样式实现网页截图 html2canvas是一个相当不错的JavaScript类库,它使用了html5和css3的一些新功能特性,实现了在客户端对网页进行截图的功能.html2canvas通过获取页面的DOM和元素的样式信息,并将其渲染成canvas图片,从而实现给页面截图的功能. 它不需要来自服务器任何渲染,整张图片都是在客户端浏览器创建.当浏览器不支持Canvas时,将采用Flashcanvas或ExplorerCanvas技术代替实现.以下浏览器能够很好的

vue的html2canvas将dom转化为图片时,腾讯云图片地址显示空白.

应用场景:做个投票活动,将参赛者的信息转化成图片截图分享.用户上传图片上传到腾讯云cos桶中,html2canvas只能转换本地资源的图片,涉及跨域的图片无法转换. 解决方法:通过nginx代理转发, 假设你的网站是   http://www.helloworld.com 把 https://dingzi-1258648408.cos.ap-chengdu.myqcloud.com/upload/f49a6da3-73ea-422a-9b63-7a3e522130e2.png 换成 http:/

网页中DOM元素转换成图片

利用html2canvas.js将网页中dom元素转换成图片,html2canvas.js的链接是:http://html2canvas.hertzen.com/ 实现效果demo的代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>网页转图片</title> <style> #img

JS-DOM ~ 03. 子节点的操作、style.样式和属性、dom元素的创建方法及操作、14个例题、主要是利用js直接控制html属性

带有Element和不带的区别 a)  带Element的获取的是元素节点 b)  不带可能获取文本节点和属性节点 获取所以子节点 a)   . childNodes b)   . children c)   . parentNode . children [索引] . children:获取所有子节点 opacity:0-1:透明度 alpha(opacity:百分数):IE6/7/8透明度 先绑定事件再进行循环 previousNode()上一个兄弟节点 alert(变量名)可测试变量名是否

原生javascript获取dom元素简单介绍

原生javascript获取dom元素简单介绍: 使用jQuery可以各种方式获取元素,比如id选择器,类选择器,元素选择器等等,非常的方便. 下面就介绍一下如何利用原生的js实现获取dom元素的功能. 一.通过id获取元素: 最方便的那就是使用document.getElementById()函数. 具体可以参阅document.getElementById()一章节. 二.通过标签获取元素: 使用document.getElementsByTagName()函数. 具体可以参阅documen

JavaScript HTML DOM 元素(节点)

JavaScript HTML DOM 元素(节点) 创建新的 HTML 元素 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素. 实例 <div id="div1"><p id="p1">This is a paragraph.</p><p id="p2">This is another paragraph.<

JavaScript获取DOM元素位置和尺寸大小

在一些复杂的页面中经常会用JavaScript处理一些DOM元素的动态效果,这种时候我们经常会用到一些元素位置和尺寸的计算,浏览器兼容性问题也是不可忽略的一部分,要想写出预想效果的JavaScript代码,我们需要了解一些基本知识. 基础概念 为了方便理解,我们需要了解几个基础概念,每个HTML元素都有下列属性 offsetWidth clientWidth scrollWidth offsetHeight clientHeight scrollHeight offsetLeft clientL

(13)JavaScript之[HTML DOM元素][JS对象]

元素 1 /** 2 * HTML DOM 元素(节点)*/ 3 4 //创建新的HTML元素 5 var para = document.createElement('p'); 6 var node = document.createTextNode('这是一个新段落'); 7 para.appendChild(node); 8 9 var box = document.getElementById('box'); 10 box.appendChild(para); 11 12 //删除已有的

javascript中级--DOM元素的创建、插入、删除

一.创建DOM元素 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> window.onload = function() { var oBtn = document.getElementById('btn1'); var oUl = docu