Получение свойств изображения (HTML)
[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. В случае разработки приложений для Windows 10 см. раздел последняя документация]
В этом разделе мы покажем, как использовать объект ImageProperties для получения свойств изображения.
Если у вас нет объекта BitmapDecoder или вам нужны только наиболее распространенные свойства изображения, рекомендуется использовать класс ImageProperties. ImageProperties предоставляет основные данные, такие как название и дата создания изображения. Он также дает доступ к системе свойств Windows, содержащей много распространенных свойств. Дополнительные сведения о полном пространстве имен свойств Windows см. в разделе Свойства Windows.
Примечание Кодеки и форматы изображений поддерживают не все свойства. Дополнительные сведения см. в разделе Политики метаданных фотографии.
Что необходимо знать
Технологии
- Создание первого приложения среды выполнения Windows на JavaScript
- Windows.Storage.FileProperties.ImageProperties
- Свойства Windows
Необходимые условия
- Предполагается, что вы умеете создавать простые приложения среды выполнения Windows на JavaScript. Подробнее: Создание первого приложения среды выполнения Windows на JavaScript.
- Вы создали объект StorageFile из изображения. Эта процедура описана в разделе Декодирование изображения.
Инструкции
Этап 1: Получение объекта файла
Сначала запишите функцию, которая получает объект StorageFile, и объявите переменные для хранения загруженных свойств.
function GetImageProperties(file) {
var title;
var orientation;
var aperture;
Объявите переменные здесь, чтобы сохранить их в одной области.
Этап 2: Получение базового свойства
Объект StorageFile имеет член Properties, предоставляющий доступ к свойствам, связанным с содержимым файла. Можно получить свойства изображения с помощью properties.getImagePropertiesAsync.
file.properties.getImagePropertiesAsync().then(function (imageProperties) {
Если у вас есть объект ImageProperties, вы можете сразу получить наиболее распространенные свойства изображения, такие как название и категория.
title = imageProperties.title;
Примечание Если изображение не содержит определенного свойства или формат изображения не поддерживает данное свойство, функция возвращает нулевое значение. Необходимо проверить существование каждого свойства перед загрузкой.
Этап 3: Получение свойства Windows
Можно также отправить асинхронный запрос поддерживаемого свойства Windows с помощью передачи списка имен ключей свойств в imageProperties.retrievePropertiesAsync.
return imageProperties.retrievePropertiesAsync(["System.Photo.Orientation", “System.Photo.Aperture”]);
}).done(function (retrievedProperties) {
Объект retrievedProperties — это коллекция пар "ключ-значение", в которых каждый ключ является запрошенным вами именем свойства Windows, а значение представляет собой соответствующие данные. При вызове функция поиска работает в синхронном режиме. Функция retrievePropertiesAsync управляет процессом обработки.
orientation = retrievedProperties.lookup("System.Photo.Orientation");
aperture = retrievedProperties.lookup("System.Photo.Aperture");
Примечание Если изображение не содержит определенного свойства или формат изображения не поддерживает данное свойство, функция возвращает нулевое значение. Необходимо проверить существование каждого свойства перед загрузкой.
Примечания
Можно использовать BitmapPropertiesView для получения таких свойств Windows, как ImageProperties. Однако при этом предоставляется доступ нижнего уровня к собственным структурам метаданных в файле с помощью языка запроса метаданных WIC. Дополнительные сведения см. в разделе Чтение метаданных изображения.