填充可写位图更高效



我动态创建可写位图。这是有效和最好的方法吗?

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

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

最新更新