我正在开发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上的内存流中加载图像
由于
答案 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和手机之间共享文件,可以使用网络服务。