сохранить изображение в изолированном хранилище

Возможный дубликат:
store изображение в изолированное хранилище в Windows Phone 7

Я использую Visual Studio/Expression Blend для создания своего приложения для Windows Phone 7. Пользователь должен иметь возможность выбрать изображение, которое он хочет отредактировать, и после редактирования пользователь может нажать кнопку «Сохранить» и конкретный отредактированный изображение будет сохранено в изолированном хранилище. Но у меня возникли проблемы с сохранением изображения в изолированном хранилище из события нажатия кнопки.

У кого-нибудь есть пример кода, как это можно сделать? Спасибо!

Мои коды для кнопки:

using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication()) 

{ 

var bi = new BitmapImage(); bi.SetSource(pic); 

var wb = new WriteableBitmap(lion.jpg,lion.jpg.RenderTransform); 

using (var isoFileStream = isoStore.CreateFile("somepic.jpg")) 

{ 

var width = wb.PixelWidth; 

var height = wb.PixelHeight;

Extensions.SaveJpeg(wb, isoFileStream, width, height, 0, 100); 

 } 
}

person user801681    schedule 16.06.2011    source источник
comment
Взгляните на следующую ссылку windowsphonegeek.com/tips/   -  person Nair    schedule 16.06.2011
comment
Было бы полезно увидеть ваш код до сих пор?   -  person lhan    schedule 16.06.2011
comment
Вы должны редактировать код в вопросе. Вы сможете правильно отформатировать его, чтобы его было намного легче читать.   -  person ChrisF    schedule 16.06.2011


Ответы (1)


Чтобы сохранить изображение в IsolatedStorage из PhotoChooserTask, используйте это (объект e в обратном вызове задачи содержит поток):

public static void SaveImage(Stream imageStream, string fileName, int orientation, int quality)
{
    using (var isolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
    {
        if (isolatedStorage.FileExists(fileName))
            isolatedStorage.DeleteFile(fileName);

        IsolatedStorageFileStream fileStream = isolatedStorage.CreateFile(fileName);
        BitmapImage bitmap = new BitmapImage();
        bitmap.SetSource(imageStream);

        WriteableBitmap wb = new WriteableBitmap(bitmap);
        wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, orientation, quality);
        fileStream.Close();
    }
}
person RajenK    schedule 17.06.2011