Windows Phone 7 で URL から画像を保存しようとして何度も壁にぶつかっています。画像がロードされていないか、他のクロススレッド例外 (バックグラウンド スレッドを使用している場合) のため、ゼロです。URL から画像を保存してサイズ変更できるシンプルなライブラリはありますか?
3 に答える
画像をダウンロードして保存するには、次の操作を行う必要があります。
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 によって文書化された関数であり、ストリームをバイト配列に変換するために使用されます。MediaLibraryは、他の回答の 1 つに記載されているように、 Microsoft.Xna.Frameworkアセンブリの一部です。
現在、 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 ブログの次の記事にも興味があるかもしれません。