5
キャンバスをpngとして保存するには、codeplexのImageToolsを使用しています。しかし、私はwriteableBitmap.SaveJpeg()
を使用していたときに同じ問題を抱えていました。したがって、問題は画像タイプではなく、私がどのように保存またはロードするのかでIsolatedStorage
です。ImageをIsolatedStorageに保存して2回保存する必要があります
保存ボタンを押して画像を保存するとファイルが存在しますが、画像を読み込むと何も表示されません。イメージを2回保存するとイメージが読み込まれ、正しく表示されます。
以下は私のコードです。
保存ファイル:
ExtendedImage myImage = myCanvas.ToImage();
using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
if (isoStore.FileExists("image.png"))
isoStore.DeleteFile("image.png");
using (var fileStream = isoStore.CreateFile("image.png"))
{
myImage.WriteToStream(fileStream, "image.png");
fileStream.Close();
}
}
ロードファイル
BitmapImage bi = new BitmapImage();
using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
if (isoStore.FileExists("image.png"))
{
using (var fileStream = isoStore.OpenFile("image.png", FileMode.Open))
{
bi.SetSource(fileStream);
this.img.Height = bi.PixelHeight;
this.img.Width = bi.PixelWidth;
this.img.Source = bi;
}
}
}
ちょうどあなたのコードを試して、デバイス(Nokia Lumia 920)のようにエミュレータの両方でうまく動作しているようです... –
Odd。エミュレータとデバイス(L920、Windows Phone 8.0をターゲットとするVisual Studio 2012)の両方で試しましたが、エラーは両方で持続しています。しかし、それが動作することを私に教えてくれてありがとう。 –