如何使用html2Canvas,把页面或者图层保存成图片

项目场景

  • 图片分享,很多业务尤其是移动端,为了吸引用户参与,会制作跟用户相关的画像,然后可以保存到自己的相册,我做过的就是一个 个性签名用户在输入完成,生成图片既而可以通过图片分享到各个平台
  • Latex,展示,打印需求,很多教育类的产品都有,latex公式打印的需求,便于学生记忆等

实操

htm2Canvas,的官网已经介绍了,大概的使用方法,此处我也将分为2种不同的方式来说明

  • 本地引用,此方法对Jquery,无安装第三方依赖的项目类使用比较友好
  • 官网下载资源到本地目录,在你需要的地方引用
  • let html2canvas = require("@/js/html2canvas.min.js")
getCanvasImg(){
 - // #capture 你要保存为图片的 图层	
	let _this = this; 
	html2canvas(document.querySelector("#capture")).then(canvas => {
		// canvasImg 为生成的图片
		// _this 为什么是_this? 因为此处this的指向已经发生了变化
		_this.canvasImg = canvas.toDataURL()
	});
},
  • 在你的事件里面调用getCanvasImg方法即可

  • 至于生成图片后如何保存,移动端直接长按图片就可以啦嘿嘿

  • 第三方依赖,此方法大多用在框架项目中,通过指令轻轻松松搞定啦

    • 在npm install --save html2canvas或者yarn add html2canvas
    • 安装完成后,引入到你需要使用的地方

getCanvasImg(){
	const _this = this;
    const contId = document.getElementById('question-content')
    const contWidth = contId.offsetWidth
    const contHeight = contId.offsetHeight
	html2canvas(contId,{
		width: contWidth, // 可以设置canvas的宽高
	  	height: contHeight, 
	  	scale: 1, // 不按照分辨率 进行缩放
	  	backgroundColor: null,
	  	useCORS: true,
	}).then(canvas => {
	  _this.canvasImg = canvas.toDataURL()
	});
}

以上已经可以让制定的图层生成图片啦,之后这个图片要去做什么都要看砖友的操作啦哈哈,还等什么赶紧实践起来吧

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值