我动态创建可写位图。这是有效和最好的方法吗?
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 呈现到位图。这可用于转换图像(缩放等)或渲染叠加等。使用可写位图,您还可以将用户控件或任何自定义控件转换为图像。