Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将图像加载到writeablebitmap中_C#_Silverlight_Writeablebitmap - Fatal编程技术网

C# 将图像加载到writeablebitmap中

C# 将图像加载到writeablebitmap中,c#,silverlight,writeablebitmap,C#,Silverlight,Writeablebitmap,所以我试图将一个图像加载到一个WriteableBitmap中,但是我得到了一个NullReferenceException。我不明白为什么,因为我认为这以前是有效的 BitmapImage b=新的BitmapImage(新Uri(@“images/Car.jpg”,Urikind.Relative)) WriteableBitmap wb=新的WriteableBitmap(b) 就这样。我在我的项目中将汽车图像作为一种资源。它工作正常,因为我可以创建一个图像控件并将其源设置为BitmapI

所以我试图将一个图像加载到一个WriteableBitmap中,但是我得到了一个NullReferenceException。我不明白为什么,因为我认为这以前是有效的

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