0

我一直在尝试从 Windows Phone 7 中的 URL 保存图像。我尝试过http://imagetools.codeplex.com/和 WritableBimap,但我总是遇到无法加载的问题(高度为零,因为图像尚未加载,或其他跨线程异常(假设我正在使用后台线程)。是否有一个简单的库可以让我从 URL保存和调整图像大小?

4

3 回答 3

0

要下载和存储图像,您需要执行以下操作:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://i.imgur.com/IgomXCN.jpg");

request.BeginGetResponse(new AsyncCallback((result) =>
    {
        HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);
        byte[] content = ReadFully(response.GetResponseStream());

        MediaLibrary lib = new MediaLibrary();
        lib.SavePictureToCameraRoll("Test Picture", content);
    }), null);

ReadFully是 Jon Skeet在此处记录的一个函数,用于将流转换为字节数组。如其他答案之一所述,MediaLibraryMicrosoft.Xna.Framework程序集的一部分。

于 2013-03-09T18:53:24.723 回答
0

您目前使用的是WebClient还是WebRequest

MediaLibrary.SavePicture也可能有效

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.medialibrary.aspx

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.medialibrary.savepicture.aspx

这些也是官方的Microsoft 库,因此它们可能比外部库更好地工作。

对于调整大小,您可能有兴趣查看强烈推荐的http://www.leadtools.com/sdk/silverlight/windows-phone.htm

您可能还对 Microsoft 博客中的这篇文章感兴趣:http: //blogs.msdn.com/b/mikeormond/archive/2010/12/09/resizing-images-in-windows-phone-7.aspx

于 2013-03-09T16:54:15.793 回答
-1

查看SimpleImage.Resizer

源代码在github上可用。

如果您想查看它的实际效果,作者还在apphb 上设置了一个演示。

于 2013-03-09T16:53:44.873 回答