canvas.toDataURL 画布导出图片
<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>
canvas.toDataURL 画布导出图片的更多相关文章
- canvas画布导出图片并下载
		
近期在学习关于画布知识,关于 画布导出图片, 在导出jpeg格式的图片时,会发现图片背景色变成了黑色,原因是画布透明的地方 默认转成了黑色,可以在绘制画布前设置透明处背景色为白色. // 背景色转换成 ...
 - canvas toDataURL() 方法如何生成部分画布内容的图片
		
HTMLCanvasElement.toDataURL() 方法返回一个包含图片展示的 data URI .可以使用 type参数其类型,默认为 PNG 格式.图片的分辨率为96dpi. 如果画布的高 ...
 - 利用canvas 导出图片
		
1.使用canvas绘制图片,并将图片导出. 在本地直接访问静态网页时,无法使用toDataURL(),需要将网页发布后,canvas才能使用toDataURL获取画布上的内容.因为canvas不允许 ...
 - 微信小程序--canvas画布实现图片的编辑
		
技术:微信小程序 概述 上传图片,编辑图片大小,添加文字,改变文字颜色等 详细 代码下载:http://www.demodashi.com/demo/14789.html 概述 微信小程序--ca ...
 - js 画布与图片的相互转化(canvas与img)
		
使用js将图片拷贝进画布 //将图片对象转化为画布,返回画布function ImageToCanvas(image) { var canvas = document.createElement(&q ...
 - html页面、canvas导出图片
		
背景:项目现场提出将一个html做的图形页面导出为一张图片的需求,在网上搜了一下,发现都不是很全面,所以综合了很多大神的帖子,自己再次封装,以适用项目需求. 所需js库:html2canvas.js( ...
 - 前端性能优化 —— 使用 BMP 图片代替 canvas.toDataURL
		
前端开发中有时需要将 canvas 的内容导出成图片文件,例如供 CSS 使用,通常会使用 canvas.toDataURL,兼容性好并且简单. 不过 canvas.toDataURL 显然是非常低效 ...
 - html dom 转化成图片踩坑记(canvas toDataURL)
		
需求 在开发过程中遇到这么一个需求,h5页面需要将一个html dom转化成图片,便于用户保存. 面向百度搜索第三方得 html2canvas 和 dom-to-image 两者在写这篇笔记之前在gi ...
 - 快速解决Canvas.toDataURL 图片跨域的问题
		
出现Canvas.toDataURL 图片跨域问题怎么解决呢?下面小编就为大家带来一篇Canvas.toDataURL 图片跨域问题的快速解决方法.一起跟随小编过来看看吧 如题,在将页面的图片地址进行 ...
 
随机推荐
- js串口通信 调用MSCOMM32控件  链接电子秤(完整版实现方案)
			
硬件环境:RS232转USB串口线*1 电子秤*1(本人采用G&G E600Y-C型号称重仪) 电子秤原装RS232数据线*1 计算机*1 软件环境:RS232转USB串口线驱动(这个可以在串 ...
 - 《精通CSS层叠样式表》
			
书名 <精通CSS层叠样式表> 图片 时间 2017-7月 学习 感觉和ps一样对我都不友好 3天撸完
 - SQL SERVER 如何声明一个变量
			
DECLARE @i AS INT; ; GO 或者 ; GO 表表达式形式 ); SET @empname = (SELECT firstname + N' ' + lastname FROM HR ...
 - HDFS 安全模式的理解
			
安全模式是hadoop的一种保护机制,用于保证集群中的数据块的安全性. 当集群启动的时候,会首先进入安全模式.当系统处于安全模式时会检查数据块的完整性.假设我们设置的副本数(即参数dfs.replic ...
 - C#---初学ActiveMQ中间件
			
本篇文章只适合跟我一样的初学者,因为现阶段的我们只想者怎么实现功能,不太会去考虑潜在异常.从上周开始优化公司的调控系统,原先采取的都是通过操作数据库去实现功能,客户体验效果不佳,经过领导决定是用中间件 ...
 - 解说css中的margin属性缩写方式
			
<html> <body> <div style="border: 1px solid red;"> <div style="b ...
 - mac 上运行httpserver的问题
			
如果你的系统是window 我建议你安装http-server 非常好用, 如果是mac,系统自带的就有httpserver 服务,没有必要在安装 按照我说的来操作 首先 sudo apachectl ...
 - socket、web socket
			
WEB SOCKET: 说明:为浏览器提供双工异步通信,浏览器可以向服务端发送消息.服务端也可以向浏览器发送消息. SOCKET: 说明:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接 ...
 - 【pygame游戏编程】第四篇-----打字测速游戏
			
下面我们一起用pygame编写一个打字测速游戏 这是一个很实用的有趣的小游戏: 开始之前先来学习几个小函数: 1. ord(ch) python内置函数,传入一个字符,返回字符的ascii码 2.ch ...
 - XHTML结构化
			
XHTML 规则概要 将传统的 HTML 转换为 XHTML 1.0 是快捷且无痛的,只要你遵守一些简单的规则和容易的方针.不管是否使用过 HTML,都不会妨碍你使用 XHTML. 使用恰当的文档类型 ...