我创建WriteableBitmap
对象,画一条线,并尝试将其设置为源到Image
控制。 出于某种原因,程序停止响应,然后关闭5秒后,当我尝试设置的来源。 任何人有任何的想法有什么不对? (我也使用WriteableBitmapEx)
WriteableBitmap bit = new WriteableBitmap(400, 400, 96, 96, PixelFormats.Bgr32, null);
WriteableBitmapExtensions.DrawLine(bit, 10, 10, 300, 300, Core.PrimaryColor.ColorValue);
ImageCanvas.Source = bit; // Sets the image to our bitmap, but program crashes for some reason!
当我尝试你的代码,它抛出一个ArgumentException说
WriteableBitmap的需要输入有Pbgra32像素格式。 使用BitmapFactory.ConvertToPbgra32Format方法自动任何输入的BitmapSource转换为此类接受正确的格式\ r \ nParametername:WriteableBitmap的
因此,这个工程:
var bitmap = new WriteableBitmap(400, 400, 96, 96, PixelFormats.Pbgra32, null);
WriteableBitmapExtensions.DrawLine(bitmap, 10, 10, 300, 300, Colors.Black);
image.Source = bitmap;
更新:正如安德斯指出,你或许应该使用由WriteableBitmapEx提供的便携式点阵图工厂方法来创建位图:
var bitmap = BitmapFactory.New(400, 400);
WriteableBitmapExtensions.DrawLine(bitmap, 10, 10, 300, 300, Colors.Black);
image.Source = bitmap;