将HTML5 Canvas的内容保存为图片借助toDataURL实现

裸睡朋友

裸睡朋友

2016-02-19 10:35

下面图老师小编要跟大家分享将HTML5 Canvas的内容保存为图片借助toDataURL实现,简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!
主要思想是借助Canvas自己的API - toDataURL()来实现,整个实现
HTML + JavaScript的代码很简单。

代码如下:

html
meta http-equiv="X-UA-Compatible" content="chrome=1"
head
script
window.onload = function() {
draw();
var saveButton = document.getElementById("saveImageBtn");
bindButtonEvent(saveButton, "click", saveImageInfo);
var dlButton = document.getElementById("downloadImageBtn");
bindButtonEvent(dlButton, "click", saveAsLocalImage);
};
function draw(){
var canvas = document.getElementById("thecanvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "rgba(125, 46, 138, 0.5)";
ctx.fillRect(25,25,100,100);
ctx.fillStyle = "rgba( 0, 146, 38, 0.5)";
ctx.fillRect(58, 74, 125, 100);
ctx.fillStyle = "rgba( 0, 0, 0, 1)"; // black color
ctx.fillText("Gloomyfish - Demo", 50, 50);
}
function bindButtonEvent(element, type, handler)
{
if(element.addEventListener) {
element.addEventListener(type, handler, false);
} else {
element.attachEvent('on'+type, handler);
}
}
function saveImageInfo ()
{
var mycanvas = document.getElementById("thecanvas");
var image = mycanvas.toDataURL("image/png");
var w=window.open('about:blank','image from canvas');
w.document.write("img src='"+image+"' alt='from canvas'/");
}
function saveAsLocalImage () {
var myCanvas = document.getElementById("thecanvas");
// here is the most important part because if you dont replace you will get a DOM 18 exception.
// var image = myCanvas.toDataURL("image/png").replace("image/png", "image/octet-stream;Content-Disposition: attachment;filename=foobar.png");
var image = myCanvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
window.location.href=image; // it will save locally
}
/script
/head
body bgcolor="#E6E6FA"
div
canvas width=200 height=200 id="thecanvas"/canvas
button id="saveImageBtn"Save Image/button
button id="downloadImageBtn"Download Image/button
/div
/body
/html

运行效果如下
展开更多 50%)
分享

猜你喜欢

将HTML5 Canvas的内容保存为图片借助toDataURL实现

Web开发
将HTML5 Canvas的内容保存为图片借助toDataURL实现

将image的图片保存为JPG格式图片方法

编程语言 网络编程
将image的图片保存为JPG格式图片方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

HTML5 canvas 基本语法

Web开发
HTML5 canvas 基本语法

HTML5 Canvas概述

Web开发
HTML5 Canvas概述

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

不用插件将Safari全页面保存为 PDF 或图片

浏览器
不用插件将Safari全页面保存为 PDF 或图片

HTML5 Canvas 起步(2) - 路径

Web开发
HTML5 Canvas 起步(2) - 路径

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

整理的比较不错的JavaScript的方法和技巧

整理的比较不错的JavaScript的方法和技巧

html5贪吃蛇游戏使用63行代码完美实现

html5贪吃蛇游戏使用63行代码完美实现
下拉加载更多内容 ↓