赞
踩
这是一个在js前端使用html2canvas生成图片的一个小应用,输入数字生成一个透明背景的图片,可以放在微信红包上唬人。
欢迎来我博客体验
实现图片的生成与下载
//创建一个新的canvas var canvas2 = document.createElement("canvas"); let _canvas = document.querySelector('#target'); var w = parseInt(window.getComputedStyle(_canvas).width); var h = parseInt(window.getComputedStyle(_canvas).height); //将canvas画布放大若干倍,然后盛放在较小的容器内,以破解模糊 canvas2.width = w * 2; canvas2.height = h * 2; canvas2.style.width = w + "px"; canvas2.style.height = h + "px"; var context = canvas2.getContext("2d"); //放缩和转换图形到合适位置 context.scale(2, 2.1); context.translate(0,-0.5); //生成并下载 html2canvas(document.querySelector('#target'), { canvas: canvas2,backgroundColor:null }).then(function(canvas) { //canvas转换成url,然后利用a标签的download属性,直接下载,绕过上传服务器再下载 // 获取生成的图片的url,replace("image/png", "image/octet-stream") 作用是告诉浏览器不要打开直接下载 var imgUri = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); var fileName = num+".png"; //创建链接元素,以将下载文件命,如不命名需要下载后手动命名才可正常使用 var link = document.createElement('a'); link.setAttribute('download', fileName); link.setAttribute('href', imgUri); link.click(); });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。