在WP8中读取jpg到BMP

本文关键字:BMP jpg 读取 WP8 | 更新日期: 2023-09-27 17:54:55

当我尝试在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));

这个错误还有其他原因吗?

在WP8中读取jpg到BMP

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中继续。