2012-10-05 5 views
0

즉석에서 WriteableBitmaps를 만듭니다. 이것이 효율적이고 최선의 방법인가요?WriteableBitmap을보다 효율적으로 작성하십시오.

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을 만드는 다른 방법이있을 수 있습니다.

답변

0

아마도 네, WritableBitmap의 가장 강력한면은 UIElement를 비트 맵에 렌더링 할 수있는 Render() 메서드입니다. 이것은 이미지 (스케일 등)를 변환하거나 오버레이를 렌더링하는 데 사용할 수 있습니다. WriteableBitmap을 사용하여 사용자 정의 컨트롤이나 모든 사용자 정의 컨트롤을 이미지로 변환 할 수도 있습니다.