Форум программистов, компьютерный форум 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. Просмотров 704. Ответов 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 минут
Проблема решена.
Можно закрывать тему.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2013, 17:56     Save image to Media Library. NullReferenceException
Посмотрите здесь:

wpf save image C# WPF
VBA Запрет на Save, QuickSave, Save As в Excel
C++ Linux QwebView save to image. How?
std threading library взамен boost threading library C++
Save application Windows Phone
Mac OS open-edit-save image? Objective-C
Save Image Windows Phone
Windows Phone Как изменить картинку при нажатии на кнопку в Image
Алгоритм метода записи изображения в поток Image.Save C#
Windows Phone Загрузить картинку в элемент Image с помощью FileOpenPicker
Windows Phone Загрузить изображение из ресурсов в объект Image
Сообщения ">>Checking media presence >>media present..... >>start PXE over IPx4." при загрузке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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