2

ここにはイメージから分離ストレージへの質問がかなりありますが、私の状況に対する適切な答えが見つかりませんでした。

.pngWeb から画像を取得し、オブジェクトとして保存していBitmapImageます。(イベントで)ロードが完了したらBitmapImage.ImageOpened、分離ストレージに保存したいと思います。

では、この BitmapImage からバイトまたはファイル ストリームを取得するにはどうすればよいでしょうか (または Web から直接 - 問題ではありません) IsolatedStorageFileStream。.png 画像を使用して WP7 で動作するインターネット上の単一の投稿を見つけることができません (そのためBitmapImage.StreamSource利用できません)。どんな助けでも大歓迎です。

4

1 に答える 1

1

これをすぐに実行できるとは思いませんが、png 形式で保存できる codeplex/nuget プロジェクトがあります。

codeplex のイメージ ツールがインストールされていると仮定します(nuget 経由で!)。

_bi = new BitmapImage(new Uri("http://blog.webnames.ca/images/Godzilla.png", UriKind.Absolute));
_bi.ImageOpened += ImageOpened;
...

private void ImageOpened(object sender, RoutedEventArgs e)
{
    var isf = IsolatedStorageFile.GetUserStoreForApplication();

    using (var writer = new StreamWriter(new IsolatedStorageFileStream("godzilla.png", FileMode.Create, FileAccess.Write, isf)))
    {
        var encoder = new PngEncoder();
        var wb = new WriteableBitmap(_bi);
        encoder.Encode(wb.ToImage(), writer.BaseStream);
    }
}

John Pappa は、この手法に関する優れたブログ エントリを持っています。スナップショットを PNG に保存する

于 2012-04-28T02:50:39.337 に答える