0

その場で WriteableBitmaps を作成します。これは効率的で最善の方法ですか?

var image = new WriteableBitmap(128, 128);
var colorBuffer = Enumerable.Repeat(
    new[] {this.ImageColor.B, this.ImageColor.G, this.ImageColor.R, this.ImageColor.A},
    image.PixelHeight*image.PixelWidth).SelectMany(b => b).ToArray();

using(var stream = image.PixelBuffer.AsStream())                    
    stream.Write(colorBuffer, 0, colorBuffer.Length);

ImageSource最後に、画像をオブジェクトとして返します。ImageSource均一な色を作成する別の方法もあるかもしれません。

4

1 に答える 1

0

おそらくそうです。WritableBitmap の最も強力な側面は、UIElement をビットマップにレンダリングできる Render() メソッドです。これは、画像の変換 (拡大縮小など) やオーバーレイのレンダリングなどに使用できます。WriteableBitmap を使用すると、ユーザー コントロールや任意のカスタム コントロールを画像に変換することもできます。

于 2012-10-05T16:26:19.843 に答える