0

WriteableBitmap をピクセルごとに更新する最良の方法を (wp7 でのパフォーマンスに関して) 誰かが知っているかどうか疑問に思っていました...色と単一の場所を取得できる Pixels.SetValue メソッドを見ることができます。しかし、確かに高速なオプションは、最初に配列を設定し、次に SetValue(theArray) を一度に設定することです...このようなもの...

Int32[] pixels = bmp.Pixels;
for(Int32 y = 479; y > 0; y--)
    for (Int32 x = 0; x < 480; x++)
    {
        pixels[x + (y * 480)] = 0;
    }
bmp.Pixels.SetValue(pixels);

しかし、そのオプションはないようです???

当然のことながら、ここではすべてを黒に設定しています...しかし、もっとやりたい場合は...

基本的に、ビットマップをピクセルごとに操作/作成し、最高のパフォーマンスを得る最良の方法は何ですか? (ティックごとにビットマップを更新することを考えてください)

編集: Texture2D.SetData<Int32>(theArray) にこの機能があることに気付きました。このパフォーマンスについて誰かコメントできますか? または、これを行うためのより良い方法をお勧めしますか?

4

1 に答える 1

1

バイト配列を指定してビットマップを作成できます。Bitmap のコンストラクターの 1 つがこれを可能にします。これこれを見てください。

したがって、おそらく最善の方法は、配列を操作し、必要に応じて配列からビットマップを作成することです。もちろん、線や円などを描くには、いくつかの描画関数を使用する方がよいでしょう。

于 2012-02-17T15:27:05.660 に答える