私はHTML5を学習しています。キャンバスピクセル操作のようないくつかの基本的な操作を行うと、カラーチャネルを変更するときにオペラが完全に画像を乱すことがわかりました。 http://gda.0fees.net/tests/opera/canvas2.html(NB:「期待される結果」の画像が動的に読み込まれ、サーバーの速度が遅い)という小さなテストページを作成しました。Operaでのキャンバスピクセル操作のバグ
スクリプトは画像を取得し、すべてのピクセルの赤の値を一様に変更します。ここでは(あなたは上記のリンクを経由してフルで見ることができます)私のコードの中心点です:クロム、Firefoxの、IE 9では
for (var i = 0, l = matrix.data.length; i < l; i += 4)
{
matrix.data[i] += delta;
if (matrix.data[i] > 255) matrix.data[i] = 255;
if (matrix.data[i] < 0 ) matrix.data[i] = 0;
}
は、およびSafariはそれが魔法のように動作します。しかし、Operaでは、両方の変換でこの結果が得られます。http://gda.0fees.net/tests/opera/opera.jpg
私は何か間違っていますか?これは既知のバグですか?それは抑制できますか?
を私はこれを行う: '場合(matrix.data [I]> 255)matrix.data [I] = 255; if(matrix.data [i] <0)matrix.data [i] = 0; '。他のブラウザもうまくいくようです。私は質問の本文にこれを入れておくべきです、残念です。今問題の説明にこのビットを追加しました。 –
これは単にFirefoxが愚かでHTMLを自動修正しているかどうかはわかりませんが、を正しく閉じずに、偽のタグを持っているようです。 –
LOL、いいえ、それは私がコピペストでは失敗しています。修正済み(遅いサーバーではしばらくキャッシュするかもしれませんが)、状況は改善されません。 –