-1

ウェブサイトから画像をクリックした後、画像のURLをキャプチャして任意のコンテナに保存し、画像を分離されたストレージに保存したいと思います。

このためのコードを提供できる人はいますか?

ありがとう

4

1 に答える 1

0

画像をダウンロードするには、URIを取得する必要があります。あなたがそれを手に入れるとすぐにそれはかなり簡単です:

 public class ServiceImageDownloader
{
    private readonly BitmapImage _downloadedBmpImage = new BitmapImage();

    public ServiceImageDownloader()
    {
        _downloadedBmpImage.ImageOpened += DownloadedBmpImageImageOpened;
        _downloadedBmpImage.ImageFailed += DownloadedBmpImageImageFailed;
        _downloadedBmpImage.CreateOptions = BitmapCreateOptions.BackgroundCreation;
    }

    public void DownloadImage(string imageUri)
    {
      _downloadedBmpImage.UriSource = imageUri;
    }

    private void DownloadedBmpImageImageOpened(object sender, RoutedEventArgs e)
    {
        try
        {
            OnImageDownloaded(new WriteableBitmap(_downloadedBmpImage));
        }
        catch
        {
            //manage other classic errors
        }
    }

    private void OnImageDownloaded(WriteableBitmap wbImTemp)
    {
        //here you get your image as a writeableBmp and you can do whatever you wish,
        //as save it in your IS in your example
    }
}

ISの場合は、イメージをストリームとして、またはシリアル化可能なオブジェクトとして使用することをお勧めします。それはそのようなものかもしれません:

 public bool WriteImage(string imageName, Stream streamImage)
    {
        IsolatedStorageFile store = null;
        Stream stream = null;

        try
        {

            using (store = IsolatedStorageFile.GetUserStoreForSite())
            {                    
                // Open/Create the file for writing
                stream = new IsolatedStorageFileStream(imageName,
                    FileMode.Create, FileAccess.Write, store);

                streamImage.CopyTo(stream);

                stream.Close();
                streamImage.Close();
            }
            return true;

        }
        catch (Exception ie)
        {
           //manage error the way you prefer (think especially to quota management)
        }
    }

それが役に立てば幸い。

于 2013-02-08T08:38:19.187 に答える