填写WriteableBitmap更有效率

时间:2012-10-05 16:18:28

标签: c# microsoft-metro flood-fill

我动态创建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

1 个答案:

答案 0 :(得分:0)

也许是的,WritableBitmap最强大的方面是Render()方法,它允许将UIElement渲染到位图。这可用于转换图像(比例等)或渲染叠加等。使用WriteableBitmap,您还可以将用户控件或任何自定义控件转换为图像。