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 相关文章推荐
分享8款纯CSS3实现的搜索框功能
Sep 14 HTML / CSS
CSS3 选择器 伪类选择器介绍
Jan 21 HTML / CSS
10 套华丽的CSS3 按钮小结
Oct 03 HTML / CSS
CSS3中HSL和HSLA的简单使用示例
Jul 14 HTML / CSS
用CSS3打造HTML5的Logo(实现代码)
Jun 16 HTML / CSS
css3中仿放大镜效果的几种方式原理解析
Dec 03 HTML / CSS
CSS3.0实现霓虹灯按钮动画特效的示例代码
Jan 12 HTML / CSS
HTML5 Canvas 破碎重组的视频特效的示例代码
Sep 24 HTML / CSS
html5+css3气泡组件的实现
Nov 21 HTML / CSS
HTML5拖拽API经典实例详解
Apr 20 HTML / CSS
html5唤醒APP小记
Mar 27 HTML / CSS
前端使用svg图片改色实现示例
Jul 23 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
python基础教程之lambda表达式使用方法
2014/02/12 Python
在python中将字符串转为json对象并取值的方法
2018/12/31 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
python retrying模块的使用方法详解
2019/09/25 Python
Python帮你识破双11的套路
2019/11/11 Python
python+OpenCV实现图像拼接
2020/03/05 Python
python是怎么被发明的
2020/06/15 Python
计算机专业优秀大学生自我总结
2014/01/21 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
竞聘自述材料
2014/08/25 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
《夜莺的歌声》教学反思
2016/02/22 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
python 批量压缩图片的脚本
2021/06/02 Python
2021年最新用于图像处理的Python库总结
2021/06/15 Python
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript