html2canvas将HTML内容写入Canvas生成图片

用法

http://html2canvas.hertzen.com/documentation
要element使用带有一些(可选)选项的 html2canvas 呈现,只需调用html2canvas(element, options);

html2canvas(document.body).then(function(canvas) {
    document.body.appendChild(canvas);
});

可用的配置选项

namedefaultdescription
allowTaintfalse是否允许跨域图像污染画布
backgroundColor#ffffff画布背景色(如果未在DOM中指定)。设置null为透明
canvasnull现有canvas元素用作绘图的基础
foreignObjectRenderingfalse如果浏览器支持,是否使用ForeignObject渲染
imageTimeout15000加载图像的超时时间(以毫秒为单位)。设置0为禁用超时。
ignoreElements(element) => false谓词功能,可从渲染中删除匹配的元素。
loggingtrue启用日志以进行调试
onclonenull克隆文档以进行渲染时调用的回调函数可用于修改将要渲染的内容,而不会影响原始源文档。
proxynull代理将用于加载跨域图像的网址。如果保留为空,则不会加载跨域图像。
removeContainertrue是否清除html2canvas临时创建的克隆DOM元素
scalewindow.devicePixelRatio用于渲染的比例。默认为浏览器设备像素比率。
useCORSfalse是否尝试使用CORS从服务器加载图像
widthElement widthcanvas宽度
heightElement heightcanvas高度
xElement x-offset裁剪画布X坐标
yElement y-offset裁剪画布y坐标
scrollXElement scrollX渲染元素时要使用的x滚动位置(例如,如果Element使用position: fixed)
scrollYElement scrollY呈现元素时要使用的y-scroll位置(例如,如果Element使用position: fixed)
windowWidthWindow.innerWidth渲染时使用的窗口宽度Element,这可能会影响媒体查询之类的内容
windowHeightWindow.innerHeight渲染时要使用的窗口高度Element,这可能会影响媒体查询之类的内容
<div class="save-img" ref="userCode"> </div>
import html2canvas from 'html2canvas'
const canvas2 = document.createElement('canvas');
let dom = that.$refs.userCode;
let width = dom.offsetWidth; //获取dom 宽度
let height = dom.offsetHeight; //获取dom 高度
canvas2.width = width * window.devicePixelRatio;
canvas2.height = height * window.devicePixelRatio;
html2canvas(dom,{
	backgroundColor: null,
	async: true,
	useCORS:true,
	//dpi: window.devicePixelRatio ,
	canvas: canvas2
}).then((canvas) => {
	let dataURL = canvas.toDataURL("image/png");
	that.saveImgUrl = dataURL;
});
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值