在WP8中将jpg读入BMP

时间:2013-01-22 04:58:35

标签: c# windows-phone-8

当我尝试在Windows Phone 8应用程序中将jpg读入BitmapImage时,我收到以下错误:

System.UnauthorizedAccessException

我正在阅读它,它告诉我,我需要检查应用程序清单文件中的Photo Capability,我做了。我仍然得到错误。

我要读的代码是:

System.Windows.Media.Imaging.BitmapImage b = 
    new System.Windows.Media.Imaging.BitmapImage(new Uri(@"cat.jpg",         
    UriKind.RelativeOrAbsolute));

此错误是否还有其他原因?

1 个答案:

答案 0 :(得分:1)

BitmapImage对象只能在UI线程上构建。您可以使用Dispatcher.BeginInvoke

执行此操作
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
    System.Windows.Media.Imaging.BitmapImage b = 
        new System.Windows.Media.Imaging.BitmapImage(new Uri(@"cat.jpg",         
        UriKind.RelativeOrAbsolute));

});

请记住,它是异步的,因此您的执行需要在传递给BeginInvoke的lambda中继续