Хранение изображений в Windows Phone 8

Я действительно ломал голову, пытаясь записать и прочитать файлы png в папку в Windows Phone 8. Из нескольких сайтов блогов и кодекса я обнаружил, что есть расширение класса WritableBitmap, которое предоставляет немного дополнительных функций. ImageTools имеет кодировщик PNG и декодер. Но я действительно не могу найти примеры, чтобы использовать их.

Здесь я пытаюсь создать папку с именем page, а затем в ней файл Ink File. Я хочу преобразовать растровое изображение в PNG и сохранить его там. Растровое изображение создается из штрихов, нарисованных на холсте. Класс ImageTools предоставляет функцию ToImage для преобразования штрихов из холста в изображение.

Для хранения

        ExtendedImage myImage = InkCanvas.ToImage();

        var encoder = new PngEncoder();

        var dataFolder = await local.CreateFolderAsync("Page", CreationCollisionOption.OpenIfExists);

        StorageFile Ink_File = await dataFolder.CreateFileAsync("InkFile", CreationCollisionOption.ReplaceExisting);

        using (var stream = await Ink_File.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite))
        {
            using (var s = await Ink_File.OpenStreamForWriteAsync())
            {
                encoder.Encode(myImage, s);
                await s.FlushAsync();
                s.Close();
            }         

        }

Это правильный метод? Я получаю некоторые нулевые исключения для этого. Как мне найти, если изображение сохранено в формате PNG. Как это изображение сохраняется? Это закодировано и сохранено в файле, или это сохранено как png itsef. И как мы читаем это обратно?

Я проверил это, это, это и многое другое. Я разрабатываю приложение для WP8

1 ответ

Я использовал библиотеку PNG Writer, найденную в ToolStack, и она работает:)

Другие вопросы по тегам