我正在尝试制作一个Windows Phone 7应用程序,它可以将一些图像保存在网络上,我不知道我可以在哪里,或者是否可以将图像从网络保存到手机。
如何保存图像?
答案 0 :(得分:6)
您可以使用WebClient
或WebRequest
下载它们以获取原始字节。
然后您可以相当轻松地保存到isolated storage - 但我不相信您可以保存在图片中心看到的任何位置,如果这是您的目标。 (我无法在Microsoft.Phone.Tasks namespace中看到任何相关的内容。有些任务可以捕获选择照片的相机,但不能保存 。)
编辑:哦,我刚刚找到了办法。你可以使用MediaLibrary类及其SavePicture方法......虽然这是在XNA中,所以我至少有一个关于它的关注来自Silverlight应用程序。我知道一些XNA API 做可以在Silverlight中运行,有些则不行。值得尝试。答案 1 :(得分:5)
在手机上,您可以根据我在此处发布的项目使用HttbWebRequest(建议避免UI影响)或WebClient。
WebClient, HttpWebRequest and the UI Thread on Windows Phone 7
然后,您可以将您的信息流传输到此表格中,然后将其写入隔离存储空间。
private void PicToIsoStore(Stream pic) {
using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication()) {
var bi = new BitmapImage();
bi.SetSource(pic);
var wb = new WriteableBitmap(bi);
using (var isoFileStream = isoStore.CreateFile("somepic.jpg")) {
var width = wb.PixelWidth;
var height = wb.PixelHeight;
Extensions.SaveJpeg(wb, isoFileStream, width, height, 0, 100);
}
}
}
Jon是正确的你也可以使用MediaLibrary.SavePicture。请注意,这会将图片与图片中心中的用户照片混合在一起。
这与
一样直截了当private void PicToMediaLibary(Stream pic) {
MediaLibrary lib = new MediaLibrary();
lib.SavePicture("blah", pic);
}
将其存储在独立存储中基本上就是您的应用私有文件系统。