我试图操纵图像的像素来反转颜色并回写到画布。但它不起作用。代码如下:HTML5像素操作不起作用
<script type="text/javascript">
<!--
window.addEventListener('load', function() {
var elem = document.getElementById('myCanvas');
var context = elem.getContext('2d');
var img = new Image();
img.addEventListener('load', function() {
var x = 0, y = 0;
context.drawImage(this, x, y);
var imgd = context.getImageData(x, y, this.width, this.height);
var pix = imgd.data;
for (var i = 0, n = pix.length; i < n; i += 4) {
pix[i ] = 255 - pix[i ]; // red
pix[i+1] = 255 - pix[i+1]; // green
pix[i+2] = 255 - pix[i+2]; // blue
}
context.putImageData(imgd, x, y);
}, false);
img.src = 'test.jpg';
}, false);
// -->
</script>
而'Test.jpg'与脚本位于同一文件夹中。我错过了什么?它显示相同的图像而不反转。
图像显示出来吗?什么浏览器? – f2lollpll 2012-02-22 11:07:04
是的,它显示了。我正在使用chrome。 – user1004912 2012-02-22 17:17:27