2012-02-22 15 views
0

色を反転してキャンバスに書き戻すために、画像のピクセルを操作しようとしています。しかし、それは動作していません。コードは次のとおりです。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」はスクリプトと同じフォルダにあります。私は何か不足していますか?同じイメージを反転させることなく表示します。

+0

画像が表示されますか?どのブラウザですか? – f2lollpll

+0

はい、それが表示されます。私はクロムを使用しています。 – user1004912

答えて

1

を使用して、あなたの質問への答えはクロームでテスト

here権利であり、ファイルのように見える:それを壊す//スキーム。スクリプトをファイル(file://)を実行する代わりに、ローカルサーバー(http://)に移動すると、うまくいきました。

証明:Normally white backgrounded image

+0

ありがとうございます。それは助けになった。 – user1004912

0

私はその例を試しましたが、それは私のためにうまくいくように思えました。私は否定/反転画像をレンダリングしました。 Firefoxの10.0.2

+0

私はクロムを使用しています。 Firefoxでも私にとってはうまくいきません。 – user1004912

+0

firefoxを10.0.2にアップデートしましたが、反転イメージも表示されています。今、混乱しています。今回は、HTML5のキャンバスをChromeがサポートしているという印象を受けました。 IE9はそうです。 SafariはHTML5キャンバスをサポートしていますか? – user1004912

+0

だから結論はFireFoxが標準を維持していないということですか?またはChromeは安全ですか? – f2lollpll

関連する問題