0

幅が 1 ピクセルで高さが異なる n 個の四角形で塗りつぶされた bitmapdata オブジェクトがあります。

ループを実行して古い長方形を削除し、別の長方形に置き換えたいと考えています。

ピクセルの各ビットマップ列を背景色にリセットしてから、必要な四角形を追加するようなことをする必要がありますか?

for(i:int=0;i<bitmapdata.width;++i)

{
   (for var j:int=0;j<bitmapdata.height;j++)
{
  bitmapdata.setPixel(i,j,0x000000)
}

bitmapdata.fillrect(my new rect,0xffffff)


}
4

1 に答える 1

0

ええと、あなたがfillRect何かに使用していることに気付きました。なぜそれをすべてに使用しないのですか? fillRect問題の列だけfillRectを作成し、下から上に別の操作を行って、新しい長方形を作成します。

それが最速の方法かどうかはわかりませんが、試してみてくださいcopyPixels。これは非常に高速だと聞いています。これを問題なく使用するための私の提案は、高さ 0px の列から完全な高さまでのビットマップを組み立てることです。高さ X の列が必要な場合は、列 Xで事前に作成されたビットマップからコピーし、コピーします。元の「バーの束」画像の列 Y に移動します。

それが役に立てば幸い。コメントを投稿してください。必要に応じて、回答を明確にするよう努めます。

于 2010-07-16T13:15:01.290 に答える