了解ImageData.data
简介
只读。是一个包含RGBA像素信息的Uint8ClampedArray
,数组中所有的值都是整数,范围是0~255
(包括0
和255
)。
一个像素点占据ImageData.data
返回数组4个值,从前往后依次表示R,G,B,A这四个值,也就是红色值,绿色值,蓝色值以及透明度值。前三个色值表示范围和CSS3中的RGBA颜色一样,但是透明度A却不一样,在这里A的范围也是0~255
,在CSS中是0~1
,因此,如果是50%透明度的红色,则是[255, 0, 0, 127]
。
语法
imagedata.data;
案例
// 下面的ImageData()构造方法IE不支持,这里演示 var imagedata = new ImageData(256, 256); // 返回的是一个长度为256 * 256 * 4的数组 imagedata.data;
ImageData.data
这个数组中,每4
个值表示一个像素点信息。这里,尺寸是256*256
,因此,像素点个数就是256*256
,每个像素点4个值表示,因此,最后的长度是256*256*4
。我们实际开发对这些像素点信息进行遍历的时候,每次索引都是加4
,类似这样:
for (var index = 0; index < imagedata.data.length; index += 4) { // imagedata.data[index] 表示该点的红色色值 // imagedata.data[index + 1] 表示该点的绿色色值 // imagedata.data[index + 2] 表示该点的蓝色色值 // imagedata.data[index + 3] 表示该点的透明度值 }
其他
规范文档
规范地址 | 规范状态 | 备注 |
---|---|---|
HTML现行标准 这个规范中定义了'ImageData.data' |
现行标准 | - |
相关资源
暂无
兼容性
IE9+支持,全兼容。
by zhangxinxu 2019-10-18 01:44:15