Поделиться через


Декодирование изображения (HTML)

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. В случае разработки приложений для Windows 10 см. раздел последняя документация]

Вы узнаете, как загрузить изображение из файла, отобразить его с помощью тега <img> и создать из него объект BitmapDecoder. Объект BitmapDecoder позволяет получать доступ к метаданным и извлекать пиксельные данные изображений.

Что необходимо знать

Технологии

Необходимые условия

Инструкции

Этап 1: Добавление изображения-заполнителя

Добавьте тег <img> в свой HTML-файл.

<img id="myImage" src="" />

Файл изображения позже надо будет загрузить в объект myImage.

Этап 2: Выбор файла изображения с помощью средства выбора файлов

Создайте новый объект FileOpenPicker, чтобы позволить пользователю выбрать файл для открытия. Укажите расширение файла, чтобы отобрать изображения в формате JPEG. Затем отобразите средство выбора.

function DecodeImage() {
    var picker = new Windows.Storage.Pickers.FileOpenPicker();
    picker.fileTypeFilter.append(".jpg");
    picker.pickSingleFileAsync().then(function (file) {
        if (!file) {

Примечание  При помощи функции Windows.Graphics.Imaging.BitmapDecoder.getDecoderInformationEnumerator можно получить список всех расширений файлов, которые поддерживают кодеки, установленные в системе.

 

Примечание  Метод pickSingleFileAsync возвратит пустой объект в случае отмены пользователем.

 

Этап 3: Отображение изображения в элементе Image

Создайте URL-адрес объекта для файла и установите его как источник элемента Image.

Метод createObjectURL создаст URL-адрес, указывающий на данные из такого объекта, как StorageFile.

            var objectURL = window.URL.createObjectURL(file, { oneTimeOnly: true });
            document.getElementById("myImage").src = objectURL;

Этап 4: Создание объекта декодера

Откройте файл, используя режим доступа только для чтения, чтобы получить IRandomAccessStream. Затем создайте объект BitmapDecoder в потоке.

    }).then(function (stream) {
        return Windows.Graphics.Imaging.BitmapDecoder.createAsync(stream);
    }).done(function (decoder) {
        // BitmapDecoder is ready for use.
    });
}

Примечания

Когда у вас появится объект декодера, с его помощью вы сможете:

Связанные разделы

Чтение метаданных изображения

Получение пиксельных данных

Кодирование изображения

Windows.Graphics.Imaging