Silverlight Сохранить изображение в IsolatedStorage - PullRequest
0 голосов
/ 30 января 2010

Правильный ли следующий способ сохранения изображения в изолированном хранилище?

    public void imageToStore(Image imageIn)
{
    IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication(); 
    IsolatedStorageFileStream s = new IsolatedStorageFileStream(imageIn.Name,    FileMode.Create, iso);

            using (StreamWriter writer = new StreamWriter(s))
            {
                writer.Write(imageIn);
            }           
}

1 Ответ

1 голос
/ 31 января 2010

Редактировать: Спасибо, Энтони: Я полностью пропустил часть "Silverlight", ссылки ниже для классов System.Drawing. Вместо этого все, что вам нужно, подробно описано здесь и, вероятно, может быть принято вами сразу.


Оригинальный ответ (только для справки, не применим для вашего варианта использования):

Посмотрите на Методы Streamwriter и скажите мне, какой метод вы ожидаете обработать предоставленное вами Изображение. Вы заметите, что нет перегрузки для этого типа, поэтому - он возвращается к перегрузке, которая принимает объект. Он не знает, как сохранить произвольный объект, и просто сохраняет все, что возвращает .ToString () для этого экземпляра. По ссылке выше:

Записывает текстовое представление возражать против текстового потока, вызывая ToString на этом объекте. (Наследуется от TextWriter.)

К счастью, у класса Image есть метод , который знает, как сохранить себя в поток. Используйте это.

...