Canvas与Image互相转换

简介: JS Canvas与Image互相转换 原文地址: JavaScript Canvas Image Conversion 原文演示: JavaScript Canvas Image Conversion Demo 原文日期:2012年05月08日翻译日期:2013年08月09日 在上周的Mozilla Web开发 会议,最后我们花了大半天的时间讨论未来的Mozilla市场应用。
JS Canvas与Image互相转换
原文地址: JavaScript Canvas Image Conversion
原文演示: JavaScript Canvas Image Conversion Demo

原文日期:2012年05月08日

翻译日期:2013年08月09日


在上周的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的互相转换比你想象的还要容易,以后我将向你演示不同的图像处理技术,相信在未来你肯定能用这些技术赚到大钱。


目录
相关文章
vue3初体验-父子组件-defineComponent 写法
vue3初体验-父子组件-defineComponent 写法
3206 0
|
JavaScript API C++
Vue项目中的文件/文件夹命名规范
文件或文件夹的命名遵循以下原则: index.js 或者 index.vue,统一使用小写字母开头的(kebab-case)命名规范 属于组件或类的,统一使用大写字母开头的(PascalCase)命名规范 其他非组件或类的,统一使用小写字母开头的(kebab-case)命名规范 1.
17803 0
|
机器学习/深度学习 自然语言处理 语音技术
使用Python实现深度学习模型:智能语音助手与家庭管理
使用Python实现深度学习模型:智能语音助手与家庭管理
453 0
|
JavaScript 数据安全/隐私保护
马蜂窝 cookie 加密(加速乐)
本文介绍了一次针对马蜂窝网站的逆向工程过程,旨在学习交流,不提供完整代码及敏感信息。文中详细描述了三次GET请求的过程,通过抓包工具分析了请求头和响应内容,并逐步解析了`cookie`参数的生成方法。最终通过携带特定`cookie`成功获取页面内容。严禁将本文内容用于非法或商业用途,违者自行承担一切后果。未经许可不得转载或修改后传播。
291 0
|
XML 数据格式
htmlparser2.js:一个快速宽松的HTML/XML解析器
htmlparser2.js:一个快速宽松的HTML/XML解析器
1005 0
|
编解码 前端开发
【Vue3】解决电脑分辨率125%、150%及缩放导致页面变形的问题
【Vue3】解决电脑分辨率125%、150%及缩放导致页面变形的问题
2004 0
|
移动开发 JavaScript 小程序
uView Picker 选择器
uView Picker 选择器
414 0
Element-ui 表格 (Table) 组件中动态合并单元格
Element-ui 表格 (Table) 组件中动态合并单元格
1594 0
Element-ui 表格 (Table) 组件中动态合并单元格
|
前端开发 Python
(三)整合 React 项目静态文件到 Django 项目
(三)整合 React 项目静态文件到 Django 项目
217 9
|
Linux
Linux Crontab 查看定时任务启动没
Linux Crontab 查看定时任务启动没
255 0
Linux Crontab 查看定时任务启动没