Canvas与Image互相转换示例代码


Posted in HTML / CSS onAugust 09, 2013

JS Canvas与Image互相转换
原文演示: JavaScript Canvas Image Conversion Demo
在上周的Mozilla Web开发 会议,最后我们花了大半天的时间讨论未来的Mozilla市场应用。Instagram是近期最火爆的移动应用,以10亿美元的天价卖给了FaceBook。
我不介意赚取一些外快,所以我决定创建一个Instagram样式的应用(以后将会分享出来)

本文向您展示怎样转换Image为canvas,以及canvas如何提取出一个Image。

转换 Image为 Canvas
要把图片转换为Canvas(画板,画布),可以使用canvas元素 context 的drawImage方法:

复制代码
代码如下:

// 把image 转换为 canvas对象
function convertImageToCanvas(image) {
// 创建canvas DOM元素,并设置其宽高和图片一样
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
// 坐标(0,0) 表示从此处开始绘制,相当于偏移。
canvas.getContext("2d").drawImage(image, 0, 0);
return canvas;
}

转换 Canvas 为 Image
假设图像已经在canvas上处理好,那么可以使用以下方法,把canvas转变为图片Image对象。
复制代码
代码如下:

// 从 canvas 提取图片 image
function convertCanvasToImage(canvas) {
//新Image对象,可以理解为DOM
var image = new Image();
// canvas.toDataURL 返回的是一串Base64编码的URL,当然,浏览器自己肯定支持
// 指定格式 PNG
image.src = canvas.toDataURL("image/png");
return image;
}

额!图像image和canvas的互相转换比你想象的还要容易,以后我将向你演示不同的图像处理技术,相信在未来你肯定能用这些技术赚到大钱。
HTML / CSS 相关文章推荐
10 套华丽的CSS3 按钮小结
Oct 03 HTML / CSS
css3简单练习实现遨游浏览器logo的绘制
Jan 30 HTML / CSS
CSS3 Columns分列式布局方法简介
May 03 HTML / CSS
纯css3制作网站后台管理面板
Dec 30 HTML / CSS
HTML5新表单元素_动力节点Java学院整理
Jul 12 HTML / CSS
HTML5的革新 结构之美
Jun 20 HTML / CSS
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
Dec 13 HTML / CSS
html5基础教程常用技巧整理
Aug 20 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
Mar 04 HTML / CSS
amazeui页面校验功能的实现代码
Aug 24 HTML / CSS
详解淘宝H5 sign加密算法
Aug 25 HTML / CSS
一个基于canvas的移动端图片编辑器的实现
Oct 28 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
Aug 08 #HTML / CSS
HTML5新增的Css选择器、伪类介绍
Aug 07 #HTML / CSS
HTML5 自动聚焦(autofocus)属性使用介绍
Aug 07 #HTML / CSS
HTML5 placeholder(空白提示)属性介绍
Aug 07 #HTML / CSS
5个你不知道的HTML5的接口介绍
Aug 07 #HTML / CSS
HTML5梦幻之旅——炫丽的流星雨效果实现过程
Aug 06 #HTML / CSS
使用HTML5拍照示例代码
Aug 06 #HTML / CSS
You might like
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
PHP中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
2007/06/29 Javascript
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
javascript 写类方式之四
2009/07/05 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
vue实现简单计算商品价格
2020/09/14 Javascript
Python批量按比例缩小图片脚本分享
2015/05/21 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
2019/08/02 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
pandas 空数据处理方法详解
2019/11/02 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
2020/08/07 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
CSS 3.0 结合video视频实现的创意开幕效果
2020/06/01 HTML / CSS
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
物业保安员岗位职责制度
2014/01/30 职场文书
移风易俗倡议书
2014/04/15 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书