C# 将图像加载到writeablebitmap中
所以我试图将一个图像加载到一个WriteableBitmap中,但是我得到了一个NullReferenceException。我不明白为什么,因为我认为这以前是有效的C# 将图像加载到writeablebitmap中,c#,silverlight,writeablebitmap,C#,Silverlight,Writeablebitmap,所以我试图将一个图像加载到一个WriteableBitmap中,但是我得到了一个NullReferenceException。我不明白为什么,因为我认为这以前是有效的 BitmapImage b=新的BitmapImage(新Uri(@“images/Car.jpg”,Urikind.Relative)) WriteableBitmap wb=新的WriteableBitmap(b) 就这样。我在我的项目中将汽车图像作为一种资源。它工作正常,因为我可以创建一个图像控件并将其源设置为BitmapI
BitmapImage b=新的BitmapImage(新Uri(@“images/Car.jpg”,Urikind.Relative))代码>
WriteableBitmap wb=新的WriteableBitmap(b)代码>
就这样。我在我的项目中将汽车图像作为一种资源。它工作正常,因为我可以创建一个图像控件并将其源设置为BitmapImage并显示它。
谢谢从其他SO问题中可以看出,出现空引用异常的原因似乎是默认值为BitmapCreateOptions.DelayCreation
。您可以将其设置为BitmapCreateOptions。无并在加载图像后创建WriteableBitmap
:
BitmapImage img = new BitmapImage(new Uri("somepath",UriKind.Relative));
img.CreateOptions = BitmapCreateOptions.None;
img.ImageOpened += (s, e) =>
{
WriteableBitmap wbm = new WriteableBitmap((BitmapImage)s);
};
使用该代码,WritableBitmap
将等待BitmapImage
加载,然后才能将其分配给WritableBitmap