从目录中加载WP 8应用程序中的映像文件

时间:2013-06-25 07:56:34

标签: c# windows-phone-8 loading-image

我正在开发WP 8应用程序,我想加载当前在我的计算机驱动器上的图像。这是我的代码

  try
        {
            using (FileStream fileStream = File.OpenRead("\\TiltFilter\\FilterEffects\\Assets\\AlignmentGrid.png")) 
            {
                MemoryStream memStream = new MemoryStream();
                memStream.SetLength(fileStream.Length);
                fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);
            }
        }
        catch (Exception e)
        {
            string str = e.Message;
        }

它给了我类型

的例外
  

System.Io.DirectoryNotFoundexception and the message is无法   找到路径的一部分   'C:\ TiltFilter \ FilterEffects \资产\ AlignmentGrid.png'。

有些人可以帮我了解如何在WP8上的内存流中加载图像

由于

3 个答案:

答案 0 :(得分:5)

您需要以Content的形式向项目添加图片,并使用GetResourceStream访问图片流:

var resource = App.GetResourceStream(new Uri("Assets/AlignmentGrid.png", UriKind.Relative));
var buffer = new byte[resource.Stream.Length];
resource.Stream.Read(buffer, 0, buffer.Length);

答案 1 :(得分:0)

手机无法识别UNC网络路径 - 它不支持Windows文件服务器使用的SMB协议。

您需要打包文件以使其成为应用程序包(.xap文件)的一部分,并且是手机的本地文件或使用Web服务器提供资产(即使用http://协议) )。

第一个选项显然是最强大的,因为它不要求手机与您的服务器有网络连接。

有关如何执行此操作的示例,请参阅this blog post以了解打包“内容”和“资源”文件之间的区别(它提到了XML文件,但任何文件类型的概念都相同)。 / p>

答案 2 :(得分:0)

Windows手机应用只能访问自己的Isolated Storage和SD卡

http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402541%28v=vs.105%29.aspx

如果您想在Pc和手机之间共享文件,可以使用网络服务。