canvas教程

html5 canvas 图片像素

字号+ 作者:H5之家 来源:H5之家 2017-04-04 11:05 我要评论( )

html5 canvas图像转换成数组html5的canvas可以进行图片处理,图片是由像素组成的。我们知道canvas有方法getImageData,返回的对象中可以取出,image的data 数组

html5 canvas 图片像素

三水清 2013-04-02 718 阅读

html5 canvas图像转换成数组 html5的canvas可以进行图片处理,图片是由像素组成的。我们知道canvas有方法getImageData,返回的对象中可以取出,image的data 数组(类似数组的Type Array类型数组,Uint8ClampedArray)。 假设canvas宽高是500*400,那么应该有200000个像素点,而通过getImageData().data获取的data数组的length是800000。我们还知道rgba表示颜色的方法,r=red,g=green,b=blue,a=alpha;即红绿蓝三原色和透明值。 所以这个data数组是每四个数组值代表一个像素点。这样一来,一个图像就转化成了数据表示的数组。如下面的代码: var canvas = document.getElementById('canvas'); var ctxt = canvas.getContext('2d'); var img = new Image; img.onload = function(){ ctxt.drawImage(img, 0, 0); var data = ctxt.getImageData(0, 0, 480, 480).data; console.log(data, data.toString()); } img.src = 'img/pic.jpg'; 图像数组的遍历 如上面的代码,我们可以看到数组data就是图片转换成的数组,那么遍历这个数组就可以取得图片的像素点内容: var data = ctxt.getImageData(0, 0, 480, 480).data; for(var i =0,len = data.length; i 14,速度会快 反相(反转):就是将一个颜色换成它的补色。补色就是用255(8位通道模式下,255即2的8次方,16位要用65535去减,即2的16次方)减去它本身得到的值:R(补) = 255 – R。 其他算法需要基色和混合色配合可以参考:

作者:三水清

三水清

专注前端开发,分享Javascript/CSS/PHP等Web前端开发技巧

原文地址:html5 canvas 图片像素, 感谢原作者分享。

→javascript的类型数组(Typed Array) ←ECMAScript 262 5th :执行环境一些概念解释

发表评论

您可能感兴趣的博客

  • 博主 发表 2013-05-20 03:44:01 将HTML5 Canvas的内容保存为图片
  • html5 发表 2016-12-05 02:38:38 JS实现HTML5 Canvas图像数据和图片的互相转化
  • 博主 发表 2013-04-02 21:40:21 html5 canvas 图片像素
  • 十年灯 发表 2014-03-10 09:30:25 html5 Canvas画图教程27:isPointInPath
  • 囧克斯 发表 2013-10-11 08:15:29 通过HTML5 Canvas API调节图像的亮度和颜色
  • cc 发表 2013-08-03 08:26:21 36个炫丽的html5 canvas展示
  • sxwgf 发表 2015-11-29 23:00:48 HTML5 Canvas气温折线图表 带Tooltip提示框
  • 博主 发表 2013-04-12 03:26:29 基于canvas将图片转化成字符画
  • camnpr@163.com (佚名) 发表 2015-07-05 01:23:11 使用FormData对象提交表单及上传图片的方法(php+html5)
  • sxwgf 发表 2017-02-04 09:22:54 HTML5 Canvas 圆形进度条 显示数字百分比
  • 阿安 发表 2013-04-12 03:26:29 基于canvas将图片转化成字符画
  • 管理员 发表 2013-05-30 05:36:39 我们能用HTML5 Canvas做什么?
  • 您可能感兴趣的代码

  • 2012-11-18 02:21:13html5 canvas绘制圆形发散效果的图形 by 司马
  • 2013-04-25 10:11:37一个超炫的htm5 canvas效果 by 灵剑子
  • 2012-12-07 13:38:20html5 canvas绘制左右渐变效果的图形 by 王笃亭
  • 2013-08-22 17:48:39向一个 canvas 上的矩形应用透明度 by 猩猩总统
  • 2013-11-07 20:09:42通过html5的canvas绘制线条 by 龙堂修罗
  • 2012-11-01 20:49:38HTML5 画布(CANVAS) 的例子 by JustForFly
  • 2012-12-10 20:36:54html5 canvas绘制镂空字体的文本 by YuChao
  • 2013-02-13 09:08:26html5 canvas 实现的3D玫瑰花,情人节快乐 by 冬夜微风
  • 2013-10-15 11:32:08初始化一个html5的canvas画布 by init0
  • 2013-11-10 16:58:37html5 把指定的图片绘制到Canvas by tsl0922
  • 2014-01-18 11:55:18Html5 canvas绘制径向渐变图形 by starstroll
  • 2013-03-11 11:17:45使用html5的canvas绘制贝塞尔曲线 by demon

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • canvas取消表盘时钟

      canvas取消表盘时钟

      2017-04-04 12:00

    • canvas实现钟表效果

      canvas实现钟表效果

      2017-04-04 11:04

    • html5 canvas 画图实例

      html5 canvas 画图实例

      2017-04-04 10:04

    • Canvas画图-鼠标移动图形

      Canvas画图-鼠标移动图形

      2017-04-04 09:08

    网友点评
    >