1

JavaScript キャンバスを標準のビットマップのように操作できますか (ピクセルへのアクセス/変更とサイズの取得)? この使用は最適化されていますか、それとも通常の 2 次元ピクセル配列を操作して、必要なときにキャンバス上に描画する方が高速ですか?

4

2 に答える 2

3

はいぜったいに!こちらをご覧ください: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Pixel_manipulation_with_canvas

2 番目の質問については、ピクセルのドキュメントによると、ピクセルは 1 次元配列です。2D の方法では、独自の 2 x 2 フープラを実行する必要があります。

I82Muchによる以前の SO 回答から抜粋(私にとってはダンディに動作します):

int row = i;
int col = j;
int offset = row * width + col;
color p = pixels[offset];

詳細はこちら: 2D 配列を使用してピクセルをループする方法は?
そしてここ:http://www.processing.org/reference/pixels.html

于 2012-07-14T20:00:20.847 に答える
1

getImageData()を使用してキャンバス コンテキストからピクセル データの配列を取得できます。各ピクセルは、配列内の 4 つのスペースを占めることに注意してください (赤、緑、青、およびアルファ)。次に、好みに合わせて配列を変更したら、putImageData()を使用してデータを元に戻すことができます。

于 2012-07-14T20:03:11.097 に答える