1

各ピクセルがランダムに緑または赤に選択される 800x600 の画像を作成したいと考えています。WPFでこれを行うにはどうすればよいですか?

4

1 に答える 1

2

WriteableBitmapを参照してください

const uint red = 0xFFFF0000,green = 0xFF00FF00;
var rnd = new Random();
var bmp = new WriteableBitmap(800, 600, 96, 96, PixelFormats.Pbgra32, null);
var data = Enumerable.Range(0, 800 * 600).Select(x => rnd.NextDouble() > 0.5 ? red : green).ToArray();
bmp.WritePixels(new Int32Rect(0, 0, 800, 600), data, bmp.BackBufferStride, 0);

これは単純な例であり、ビットマップ ストライド、さまざまなピクセル フォーマット、またはアルファの処理については説明していません。

于 2012-11-28T03:26:07.513 に答える