| <script> | |
| var canvas, context2D, canvasimg, context2Dimg ,fontSize = 100; | |
| window.onload = function() { | |
| canvas =document.getElementById("canvas"); | |
| context2D = canvas.getContext("2d"); | |
| canvasimg =document.getElementById("canvasimg"); | |
| context2Dimg = canvasimg.getContext("2d"); | |
| context2D.font ="100px 黑体"; | |
| context2D.fillText("V", 0, fontSize); | |
| //添加range事件 | |
| document.getElementById("range").addEventListener("mouseup", function() { | |
| fontSize = this.value; | |
| context2D.font = this.value +"px 黑体"; | |
| context2D.clearRect(0, 0, canvas.width, canvas.height); | |
| context2D.fillText("V", 0, fontSize); | |
| }); | |
| } | |
| function go(){ | |
| var img = convertCanvasToImage(document.getElementById("canvas")); | |
| context2Dimg.clearRect(0, 0, canvas.width, canvas.height); | |
| context2Dimg.drawImage(img, 0, 0); | |
| //需要将Base64编码转换为Blob(一段二进制数据)对象 ,后才能生成文件下载 参考 http://javascript.ruanyifeng.com/htmlapi/file.html#toc0 | |
| var blob = new Blob([Base64Binary.decodeArrayBuffer(canvas.toDataURL("image/png").substring(22))]); //删除字符串前的提示信息 "data:image/png;base64," | |
| var a = document.createElement("a"); | |
| a.href = window.URL.createObjectURL(blob); | |
| a.download = "test.png"; | |
| a.textContent = "下载图片->"; | |
| document.body.appendChild(a); | |
| //a.click(); | |
| show(); | |
| } | |
| //将图片显示在网页中 | |
| function show(){ | |
| var img = convertCanvasToImage(document.getElementById("canvas")); | |
| document.body.appendChild(img); | |
| } | |
| //将canvas变成图片png | |
| function convertCanvasToImage(canvas) { | |
| var image = new Image(); | |
| image.style.border="1px solid blue"; | |
| image.src = canvas.toDataURL("image/png"); | |
| return image; | |
| } | |
| </script> | |
| <style> | |
| input[type=range]:before { content: attr(min); padding-right: 5px; } | |
| input[type=range]:after { content: attr(max); padding-left: 5px;} | |
| </style> | |
| </head> | |
| <body> | |
| <input id="range" type="range" name="range" min="100" max="500" step="100" value="100" /> | |
| <canvas id="canvas" style="border:1px solid red;" width=500 height=500></canvas> | |
| <button onclick="go();">canvas转图片,再加载到右边canvas中</button> | |
| <canvas id="canvasimg" style="border:1px solid red;" width=500 height=500></canvas> | |
| </body> | |
| <script> | |
| //base64转Blob 地址 https://github.com/danguer/blog-examples/blob/master/js/base64-binary.js |