none
为什么我的<Image>不显示图啊? RRS feed

  • 问题

  • XAML:
    <Image x:Name="ViewImg" Height="100" Width="100" />

    .CS
    var file = await Windows.Storage.KnownFolders.CameraRoll.GetFileAsync("test.jpg");

    //图片是放在存储卡里面的。
    //其中这里 file.Path 得到的路径是"D:\Pictures\Camera Roll\test.jpg"

    BitmapImage bm = new BitmapImage(new Uri(file.Path, UriKind.RelativeOrAbsolute));

    ViewImg.Source = bm;

    主要问题是在电脑测试时 部署到手机上是正常显示 的,但 发布到市场下载安装后就不能显示 图了,这样为什么啊?权限问题吗?

    2014年11月6日 3:48

答案

  • 您好,您這個方式有問題的地方在於,

    await Windows.Storage.KnownFolders.CameraRoll.GetFileAsync("test.jpg");

    這段代碼所執行的意思是從使用者的手機相簿拿出名為test.jpg的相片

    而你的手機有,但發佈到下載市場時,別人的裝置並沒有這張照片在他的手機相簿中,所以當然不會拿到任何相片

    你需要做的應該是把test.jpg這張照片放在專案裡面,並且利用以下方式取得該圖片的路徑接著進行顯示(這裡示範把test.jpg放入專案中的Assets資料夾裡面)

    var uri = new Uri("ms-appx:///Assets/test.jpg", UriKind.Absolute);
    
    BitmapImage bm = new BitmapImage(uri);
    
    ViewImg.Source = bm;


    2014年11月6日 14:13