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 相关文章推荐
html5理解head_动力节点Java学院整理
Jul 13 HTML / CSS
HTML5 device access 设备访问详解
May 24 HTML / CSS
鲜为人知的HTML5语音合成功能
May 17 HTML / CSS
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
Dec 09 HTML / CSS
HTML5重塑Web世界它将如何改变互联网
Dec 17 HTML / CSS
HTML5添加鼠标悬浮音响效果不使用FLASH
Apr 23 HTML / CSS
用HTML5制作视频拼图的教程
May 13 HTML / CSS
基于HTML5的齿轮动画特效
Feb 29 HTML / CSS
HTML5 manifest离线缓存的示例代码
Aug 08 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
Aug 18 HTML / CSS
原生CSS实现文字无限轮播的通用方法
Mar 30 HTML / CSS
CSS 左边固定宽右边自适应的6种方法
May 15 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 mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
js用正则表达式来验证表单(比较齐全的资源)
2013/11/17 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
JavaScript中神奇的call()方法
2015/03/12 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
Python实现的快速排序算法详解
2017/08/01 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
Series和DataFrame使用简单入门
2019/11/13 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
关于Java finally的面试题
2016/04/27 面试题
艺术设计专业毕业生推荐信
2014/07/08 职场文书
小学竞选班干部演讲稿
2014/08/20 职场文书
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android