Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
Denmarino
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 57
#1

Save image to Media Library. NullReferenceException - Windows Phone

25.11.2013, 17:56. Просмотров 708. Ответов 0
Метки нет (Все метки)

Привет всем. Мне нужно сохранить изображение в Media Library. Столкнулся с такой проблемой: не могу почему то получить ссылку на изображение. То-есть всегда эксепшн NullReferenceException.
Вот метод.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public void SaveImageTo(string fileName)
        {
            BitmapImage img = new BitmapImage(new Uri(@"Pictures/picpic.jpg", UriKind.Relative));
            img.CreateOptions = BitmapCreateOptions.None;
            img.ImageOpened += (s, e) =>
            {
                WriteableBitmap wr = new WriteableBitmap((BitmapImage)s);
            };
            fileName += ".jpg";
            var myStore = IsolatedStorageFile.GetUserStoreForApplication();
            if (myStore.FileExists(fileName))
            {
                myStore.DeleteFile(fileName);
            }
            IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName);
            WriteableBitmap wb = new WriteableBitmap(img); // Вот тут кидает эксепшн.
            wb.SaveJpeg(myFileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
            myFileStream.Close();
            myFileStream = myStore.OpenFile(fileName, FileMode.Open, FileAccess.Read);
            MediaLibrary library = new MediaLibrary();
            library.SavePicture(fileName, myFileStream); 
        }
Пробовал менять свойства картинки (picpic.jpg). Все равно не работает.
Если кто-то сталкивался с такой проблемой или знает как решить, напишите пожалуйста.

Добавлено через 32 минуты
Ой. Вот так правильно, конечно же.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public void SaveImageTo(string fileName)
        {
            WriteableBitmap wr = null;
            BitmapImage img = new BitmapImage(new Uri(@"Pictures/picpic.jpg", UriKind.Relative));
            img.CreateOptions = BitmapCreateOptions.None;
            img.ImageOpened += (s, e) =>
            {
                MessageBox.Show("111");
                wr = new WriteableBitmap((BitmapImage)s);
                fileName += ".jpg";
                var myStore = IsolatedStorageFile.GetUserStoreForApplication();
                if (myStore.FileExists(fileName))
                {
                    myStore.DeleteFile(fileName);
                }
                IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName);
                wr.SaveJpeg(myFileStream, wr.PixelWidth, wr.PixelHeight, 0, 85);
                myFileStream.Close();
                myFileStream = myStore.OpenFile(fileName, FileMode.Open, FileAccess.Read);
                MediaLibrary library = new MediaLibrary();
                library.SavePicture(fileName, myFileStream); 
            };
            
        }
Добавлено через 8 минут
Хм. Лямбда выражение не выполняется почему-то. Хоть и установлено свойство img.CreateOptions = BitmapCreateOptions.None. Странно.

Добавлено через 8 минут
Добавил вот такой код.
C#
1
2
3
4
img.ImageFailed += (e, a) =>
            {
                MessageBox.Show("fail");
            };
И он выполняется!
Всё равно тогда не ясно почему изображение не загружается. Путь правильный.

Добавлено через 18 минут
Проблема решена.
Можно закрывать тему.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2013, 17:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Save image to Media Library. NullReferenceException (Windows Phone):

Save Image - Windows Phone
Здравствуйте,,,у меня есть image и один button,когда нажимаешь на кнопку картинка должна сохранится в галерею скажите как...

wpf save image - C# WPF
Здравствуйте подскажите как сохранить содержимое canvas в jpg

QwebView save to image. How? - C++ Linux
UIImage *resultImageView; UIGraphicsBeginImageContext(ui->webView->page()); ; resultImageView =...

Mac OS open-edit-save image? - Objective-C
Здраствуйте! Мне нужно сосздать бистро програмку под Мас ОС простенькую. Которая откриваэт изображения, потом что там изменяет (что...

Алгоритм метода записи изображения в поток Image.Save - C#
Всем привет! myImage.Save(myStream, ImageFormat.Gif); Данный метод Save() класса Image добавляет изображение в указанный...

Как сохранить изображение в каталог с программой через Image.Save - C# MVC
Приложение asp.net mvc 4, получает каждые 10 с. данные с онлайн веб камеры и сохраняет изображение на компьютер, при необходимости...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2013, 17:56
Привет! Вот еще темы с ответами:

.NET 4.x Конфликт между PictureBox.Load и PictureBox.Image.Save - Visual Basic .NET
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click Дан код. ...

Запрет на Save, QuickSave, Save As в Excel - VBA
Приветствую! В Excel надо запретить запись если заполнена ячейка из диапазона1 и не заполнена (или не выбрана) ячейка из диапазона2. ...

Надо что бы при нажатии на какой либо Image с картинкой, картинка перекидывалась в пусто Image, а Image на который нажали исчезал. - Delphi
Имеется 4 Image в 3 из них находятся картинки, а 4 пустой. Надо что бы при нажатии на какой либо Image с картинкой, картинка перекидывалась...

std threading library взамен boost threading library - C++
изучаю распараллеливание на примере "примера" с http://www.linux.org.ru/forum/development/4152264 , но там с использованием boost. Так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru