- data 属性返回一个对象,该对象包含指定的 ImageData 对象的图像数据。
- 对于 ImageData 对象中的每个像素,都存在着四方面的信息,即 RGBA 值:
- R - 红色(0-255)
- G - 绿色(0-255)
- B - 蓝色(0-255)
- A - alpha 通道(0-255; 0 是透明的,255 是完全可见的)
- color/alpha 信息以数组形式存在,并存储于 ImageData 对象的 data 属性中。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>操作像素</title>
<style type="text/css">
canvas {border:1px solid #000;
}
</style>
<script type="text/javascript">
function Draw(){var canvas=document.getElementById("canvas");var context = canvas.getContext("2d");var newImg = new Image();newImg.src= "../images/Chaplin.jpg";newImg.onload=function(){context.drawImage(newImg,0,0,400,300);context.save();var imageData = context.getImageData(0, 0, 400, 300);for(var i=0,n=imageData.data.length;i<n;i+=4){imageData.data[i+0] =255-imageData.data[i+0];imageData.data[i+1] =255-imageData.data[i+1];imageData.data[i+2] =255-imageData.data[i+2];}context.putImageData(imageData,200,150);}}
window.addEventListener("load",Draw,true);
</script>
</head>
<body>
<canvas id="canvas" width="400" height="300">你的浏览器不支持该功能!</canvas>
</body>
</html>