html5 canvas 图片像素

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<len;i+=4){
    var red = data[i],
    green = data[i+1],
    blue = data[i+2],
    alpha = data[i+3];

}

开源个html5播放器

前言:人家都说没有几个项目在github,都不好意思说自己混前端的……

好吧,看见越来越多的人都推自己的github主页,我也把自己的之前写的一些东西整理下,从sae的svn迁移到github上,开了几个项目,虽然说代码的确乱糟糟的,但是也凑凑数吧,今天开源的是html5音乐播放器

html5音乐播放器

截图如下:

之前放出的是jquery版本的,见文章《写了一个html5音乐播放器》也整理到了这个项目中,文件夹是withjQuery内。

写了一个html5音乐播放器

昨天查了一些audio资料,自己写了个html5音乐播放器,后来写上瘾了,晚上折腾了一下加上了多首音乐支持、添加了循环模式,添加了进度,歌词等功能,界面仿得亦歌,可是一些icon还是比较难看,毕竟自己不会设计,呵呵,上面的歌曲都是通过goldwave转的ogg格式。访问地址:html5音乐播放器.

html5音乐播放器

代码还算简洁,javascript只用了400行左右,css和html也不是很多,后期如果找个视觉帮忙设计下界面就帅了,哈哈

主要功能:

  1. 支持音乐列表
  2. 支持歌词滚动
  3. 歌词实时显示到title
  4. 支持列表循环和单曲循环循环模式
  5. 支持音量调节
  6. 支持拖动改变播放进度
  7. 更多功能等你去发现哦

写的比较仓促,所有功能都是在一天内完成的,难免会有bug,欢迎拍砖