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


Запросы метаданных в собственном формате изображения

В этом разделе представлен обзор языка запросов метаданных запросов для чтения и записи метаданных, поддерживаемых изображениями GIF, PNG, TIFF и JPEG. Он включает метаданные, относящиеся к каждому формату изображения, а также метаданные, поддерживаемые несколькими форматами.

В этом разделе содержатся следующие разделы.

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

Чтобы понять эту тему, необходимо ознакомиться с системой метаданных компонента образов Windows (WIC), как описано в обзоре метаданных WIC. Вы также должны ознакомиться с языком запросов, используемым для чтения и записи метаданных, как описано в обзоре языка запросов метаданных.

Выражение политики метаданных фотографии

Помимо поддержки языка запросов метаданных, WIC также принимает канонические имена свойств из системы свойств Windows. WIC поддерживает подмножество пространства имен свойств Windows, которое относится к форматам изображений, как описано в политиках метаданных фотографий. Свойство Windows, используемое в качестве запроса метаданных WIC, называется выражением политики метаданных фотографии.

Например, выражение политики метаданных фотографии для флага ориентации EXIF:

Как правило, выражения политики рекомендуется использовать для собственных запросов метаданных для общих элементов метаданных изображения, охватываемых пространством имен свойств Windows. Язык запросов метаданных лучше всего подходит для случаев, когда требуется низкий уровень доступа к определенным элементам метаданных изображения, а также для пользовательских или расширенных элементов метаданных, которые не поддерживаются системой свойств Windows. Дополнительные сведения см. в выражениях политики метаданных фотографий.

Определенные метаданные формата файла

В следующих разделах содержатся таблицы, которые перечисляют доступные запросы метаданных для каждого типа файла изображения. Каждая таблица содержит следующие столбцы:

  • пути — путь запроса, используемый для извлечения элемента метаданных.
  • Имя — имя элемента метаданных.
  • Тип — тип элемента метаданных, полученного из пути запроса. Метаданные, полученные WIC, возвращаются в виде PROPVARIANT, который сообщает тип данных с помощью перечисления VARTYPE.on.

Пути запроса используются API метаданных WIC для доступа к внедренным метаданным образа. В следующем примере кода показано использование IWICMetadataQueryReader для запроса блока метаданных IFD JPEG.

// Not shown: image decoding 
IWICMetadataQueryReader *pQueryReader = NULL;
IWICMetadataQueryReader *pIFDReader = NULL;

// Get the query reader.
if (SUCCEEDED(hr))
{
    hr = pFrameDecode->GetMetadataQueryReader(&pQueryReader);
}

if (SUCCEEDED(hr))
{
    // Get the nested IFD reader.
    hr = pQueryReader->GetMetadataByName(L"/app1/ifd", &value);
    if (value.vt == VT_UNKNOWN)
    {
        hr = value.punkVal->QueryInterface(IID_IWICMetadataQueryReader, (void **)&pIFDReader);
    }
    PropVariantClear(&value); // Clear value for new query.
}

Метаданные GIF

Формат изображения в формате GIF поддерживает как глобальные, так и метаданные уровня кадров. В следующих двух разделах приведены пути запроса метаданных, доступные для глобальных и метаданных уровня кадров GIF.

Заметка

Полный список метаданных GIF вместе с более подробными сведениями см. в стандартной GIF на веб-сайте W3C.

 

Глобальные метаданные

В следующей таблице приведены доступные пути запроса метаданных, которые можно использовать для доступа к глобальным метаданным GIF.

Путь Имя Тип
/commentext или /[*]commentext where * = 0 до N Расширение комментариев VT_UNKNOWN — средство чтения запросов или записи
/commentext/TextEntry VT_LPSTR
/logscrdesc Описание логического экрана VT_UNKNOWN — средство чтения запросов или записи
/logscrdesc/Signature VT_UI1 | VT_VECTOR
/logscrdesc/Width VT_UI2
/logscrdesc/Height VT_UI2
/logscrdesc/GlobalColorTableFlag VT_BOOL
/logscrdesc/ColorResolution VT_UI1
/logscrdesc/SortFlag VT_BOOL
/logscrdesc/GlobalColorTableSize VT_UI1
/logscrdesc/BackgroundColorIndex VT_UI1
/logscrdesc/PixelAspectRatio VT_UI1
/appext или /[*]appext where * = 0 до N Расширение приложения VT_UNKNOWN — средство чтения запросов или записи
/appext/Application VT_UI1 | VT_VECTOR
/appext/Data VT_UI1 | VT_VECTOR

 

Метаданные кадра

В следующей таблице приведены доступные пути запроса метаданных, которые можно использовать для доступа к метаданным уровня кадров GIF.

Путь Имя Тип
/grctlext Расширение графического элемента управления VT_UNKNOWN — средство чтения запросов и записи
/grctlext/Удаление VT_UI1
/grctlext/UserInputFlag VT_BOOL
/grctlext/TransparencyFlag VT_BOOL
/grctlext/Delay VT_UI2
/grctlext/TransparentColorIndex VT_UI1
/imgdesc Дескриптор изображения VT_UNKNOWN — средство чтения запросов и записи
/imgdesc/left VT_UI2
/imgdesc/Top VT_UI2
/imgdesc/Width VT_UI2
/imgdesc/Height VT_UI2
/imgdesc/LocalColorTableFlag VT_BOOL
/imgdesc/InterlaceFlag VT_BOOL
/imgdesc/SortFlag VT_BOOL
/imgdesc/LocalColorTableSize VT_UI1

 

Метаданные PNG

Формат изображения переносимой сетевой графики (PNG) поддерживает метаданные уровня кадров.

Заметка

Полный список метаданных PNG вместе с более подробными сведениями см. в стандартной PNG на веб-сайте W3C.

 

Метаданные кадра

В следующей таблице приведены доступные пути запроса метаданных, которые можно использовать для доступа к метаданным на уровне кадров PNG.

Путь Имя Тип
/tEXt или /[*]tEXt where * = 0 до N Фрагмент текста VT_UNKNOWN — средство чтения запросов и записи запросов tEXt
/tEXt/{str=*} where * = определение ключевого слова для текста VT_LPSTR
/gAMA Гама Chunk VT_UNKNOWN — средство чтения и записи запросов gAMA
/gAMA/ImageGamma VT_UI4
/iTXt или /[*]iTXt where * = 0 до N Блок IText VT_UNKNOWN — средство чтения и записи запросов iTXt
/iTXt/Keyword VT_LPSTR
/iTXt/CompressionFlag VT_UI1
/iTXt/LanguageTag LPSTR
/iTXt/TranslatedKeyword LPWSTR
/iTXt/TextEntry LPWSTR
/cHRM Блок HRM VT_UNKNOWN — средство чтения запросов или записи запросов cHRM
/cHRM/WhitePointX VT_UI4
/cHRM/WhitePointY VT_UI4
/cHRM/RedX VT_UI4
/cHRM/RedY VT_UI4
/cHRM/GreenX VT_UI4
/cHRM/GreenY VT_UI4
/cHRM/BlueX VT_UI4
/cHRM/BlueY VT_UI4
/sRGB SRGB Chuck VT_UNKNOWN — средство чтения запросов или записи запросов sRGB
/sRGB/RenderingIntent VT_UI1
/Время Блок времени VT_UNKNOWN — средство чтения и записи запросов tIME
/tIME/Year VT_UI2
/tIME/Месяц VT_UI1
/tIME/Day VT_UI1
/tIME/Час VT_UI1
/tIME/Minute VT_UI1
/tIME/Second VT_UI1
/bKGD Фоновый блок VT_UNKNOWN — средство чтения запросов или записи запросов bKGB
/bKGD/BackgroundColor VT_UI1, VT_UI2 или VT_UI2 | VT_VECTOR
/Исторических HIST Chunk VT_UNKNOWN — средство чтения запросов и записи запросов hIST
/hIST/Частоты VT_VECTOR | VT_UI2
/iCCP Блок iCCP VT_UNKNOWN — средство чтения и записи запросов iCCP
/iCCP/ProfileName VT_LPSTR
/iCCP/ProfileData VT_VECTOR | VT_UI1

 

Метаданные TIFF

Формат изображения с тегами (TIFF) поддерживает метаданные уровня кадров.

Заметка

Полный список метаданных TIFF вместе с более подробными сведениями см. в стандартнойTIFF.

 

Метаданные кадра

В следующей таблице приведены доступные пути запроса метаданных, которые можно использовать для доступа к метаданным TIFF уровня кадра.

Путь Имя Тип
/ifd 0 IFD VT_UNKNOWN — средство чтения запросов или записи
/ifd/{ushort=*}, где * = 0 до 65535 ЕСЛИД-запись по идентификатору Переменная
/ifd/thumb или /ifd/{ushort=330} Эскиз IFD VT_UNKNOWN — средство чтения запросов или записи
/ifd/xmp или /ifd/{ushort=700} XMP VT_UNKNOWN — средство чтения запросов или записи
/ifd/exif или /ifd/{ushort=34665} EXIF VT_UNKNOWN — средство чтения запросов или записи
/ifd/gps или /ifd/{ushort=34853} GPS VT_UNKNOWN — средство чтения запросов или записи
/ifd/exif/interop или /ifd/exif/{ushort=40965} Взаимодействие VT_UNKNOWN — средство чтения запросов или записи
/ifd/iptc или /ifd/{ushort=33723} IPTC VT_UNKNOWN — средство чтения запросов или записи
/ifd/iptc/{str=*} where * = ключевое слово IPTC Запись IPTC Переменная
/ifd/irb/8bimiptc/iptc IPTC VT_UNKNOWN — средство чтения запросов или записи
/ifd/irb/8bimiptc/iptc/{str=*} Запись IPTC Переменная

 

Метаданные JPEG

Формат изображения JPEG поддерживает метаданные уровня кадров.

Заметка

Полный список метаданных JPEG вместе с более подробными сведениями см. в стандарте EXIF JPEG.

 

Метаданные кадра

В следующей таблице приведены доступные пути запроса метаданных, которые можно использовать для доступа к метаданным JPEG уровня кадров.

Путь Имя Тип
/app0 App0 VT_UNKNOWN — средство чтения запросов и записи приложений
/app0/{ushort=0} Версия VT_UI2
/app0/{ushort=1} Единиц VT_UI1
/app0/{ushort=2} DpiX VT_UI2
/app0/{ushort=3} DpiY VT_UI2
/app0/{ushort=4} Xthumbnail VT_UI1
/app0/{ushort=5} Ythumbnail VT_UI1
/app0/{ushort=6} Эскиз данных VT_BLOB
/app1 App1 VT_UNKNOWN — средство чтения запросов app1 или запись
/app1/ifd или /app1/{ushort=0} 0 IFD VT_UNKNOWN — средство чтения и записи запросов IFD
/app1/ifd/exif или /app1/ifd/{ushort=34665} EXIF IFD VT_UNKNOWN — средство чтения и записи запросов EXIF
/app1/thumb или /app1/{ushort=1} Эскиз IFD VT_UNKNOWN — средство чтения и записи запросов subIFD
/app13 App13 VT_UNKNOWN — средство чтения запросов app13 или средство записи
/app13/irb или /app13/{ushort=0} IRB VT_UNKNOWN — средство чтения запросов и записи запросов IRB
/app13/irb/{ulonglong=*}, где * = идентификатор IRB (см. спецификацию IRB) Запись IRB VT_UNKNOWN — средство чтения и записи неизвестных запросов
/app13/irb/{ulonglong=*}/{} Содержимое записи IRB VT_BLOB
/app13/irb/8bimiptc или /app13/irb/{ulonglong=61857348781060} 8BIMIPTC VT_UNKNOWN — читатель запросов 8BIMIPTC или модуль записи
/app13/irb/8bimiptc/iptc IPTC VT_UNKNOWN — средство чтения и записи запросов IPTC
/app13/irb/8bimiptc/iptc/{str=*} Запись IPTC Переменная
/app13/irb/8bimResInfo или /app13/irb/{ulonglong=61857348781037} Сведения о разрешении 8BIM VT_UNKNOWN — средство чтения запросов и записи
/app13/irb/8bimResInfo/PString VT_LPSTR
/app13/irb/8bimResInfo/HResolution VT_UI4
/app13/irb/8bimResInfo/VResolution VT_UI4
/app13/irb/8bimResInfo/WidthUnit VT_UI2
/app13/irb/8bimResInfo/HeightUnit VT_UI2
/app13/irb/8bimResInfo/HResolutionUnit VT_UI2
/app13/irb/8bimResInfo/VResolutionUnit VT_UI2
/com Комментарий JPEG VT_UNKNOWN — средство чтения запросов комментариев или записи
/com/TextEntry LPSTR
/яркость Яркость VT_UNKNOWN — средство чтения и записи запросов Luminance
/luminance/TableEntry VT_UI1 | VT_VECTOR
/цветность Цветность VT_UNKNOWN — средство чтения и записи запросов Chrominance
/chrominance/TableEntry VT_UI1 | VT_VECTOR
/xmp XMP VT_UNKNOWN — средство чтения запросов XMP или записи

 

Независимые метаданные формата файлов

В следующих разделах содержатся сведения о форматах метаданных, поддерживаемых несколькими форматами изображений. Каждая таблица содержит следующие столбцы:

  • относительный путь — путь запроса, используемый для извлечения элемента метаданных относительно блока метаданных.
  • Имя — имя элемента метаданных.
  • Тип — тип элемента метаданных, полученного из пути запроса. Метаданные, полученные WIC, возвращаются в виде PROPVARIANT, который сообщает тип данных с помощью перечисления VARTYPE.

Заметка

Таблицы здесь предоставляют только относительный путь для доступа к элементу метаданных в определенном формате метаданных. Чтобы получить полный запрос метаданных, добавьте этот относительный путь к запросу блока метаданных для определенного формата метаданных.

 

Например, чтобы получить доступ к флагу ориентации в JPEG-файле, используйте следующее выражение:

  • /app1/ifd/{ushort=274}

В TIFF-файле используйте следующее выражение:

  • /ifd/{ushort=274}

В этом примере обратите внимание, что различные форматы изображений могут хранить определенный блок метаданных по-разному, поэтому полный запрос метаданных для доступа к конкретному элементу метаданных может быть определенным форматом изображения. Просмотрите таблицу каждого формата, чтобы найти соответствующий запрос метаданных для доступа к конкретному блоку метаданных.

Метаданные IFD

IfD или Image File Directory — это структура данных, определенная в стандарте TIFF, которая может содержать метаданные изображения. Он определяет каждый элемент метаданных с помощью тега типа ushort. JPEG, TIFF и JPEG-XR поддерживают метаданные IFD. Сторонние форматы, такие как некоторые необработанные форматы камеры, также могут поддерживать метаданные IFD.

В таблице приведены относительные пути запроса метаданных для доступа к некоторым часто используемым элементам метаданных IFD. Структура данных IFD обеспечивает расширяемость сторонних производителей, и эта таблица не является исчерпывающим списком. Дополнительные сведения см. в стандарте TIFF.

Заметка

Хотя JPEG и другие форматы поддерживают структуру данных IFD, они могут не использовать все элементы метаданных, которые он определяет. Дополнительные сведения см. в стандарте каждого формата.

 

Заметка

Некоторые элементы метаданных в таблице требуют дополнительной интерпретации или информации для правильного использования, обратитесь к стандарту TIFF. Например, элемент метаданных PhotometricInterpretation возвращает proPVARIANT типа VT_UI2. Однако в соответствии со стандартом TIFF он интерпретируется как перечисление. Дополнительные сведения см. в стандарте TIFF.

 

Относительный путь Имя Тип
/{ushort=256} ImageWidth VT_UI2 или VT_UI4
/{ushort=257} ImageLength VT_UI2 или VT_UI4
/{ushort=258} BitsPerSample VT_UI2
/{ushort=259} Сжатие VT_UI2
/{ushort=262} ФотометрикаInterpretation VT_UI2
/{ushort=274} Ориентация VT_UI2
/{ushort=277} SamplesPerPixel VT_UI2
/{ushort=284} PlanarConfiguration VT_UI2
/{ushort=530} YCbCrSubSampling VT_VECTOR | VT_UI2
/{ushort=531} YCbCrPositioning VT_UI2
/{ushort=282} XResolution VT_UI8
/{ushort=283} YResolution VT_UI8
/{ushort=296} ResolutionUnit VT_UI2
/{ushort=306} DateTime VT_LPSTR
/{ushort=270} ImageDescription VT_LPSTR
/{ushort=271} Делать VT_LPSTR
/{ushort=272} Модель VT_LPSTR
/{ushort=305} Программное обеспечение VT_LPSTR
/{ushort=315} Художник VT_LPSTR
/{ushort=33432} Авторское право VT_LPSTR
/{ushort=338} ExtraSamples VT_UI2
/{ushort=254} NewSubfileType VT_UI4
/{ushort=278} RowsPerStrip VT_UI2 или VT_UI4
/{ushort=279} StripByteCounts VT_VECTOR | VT_UI2 или VT_VECTOR | VT_UI4
/{ushort=273} StripOffsets VT_VECTOR | VT_UI2 или VT_VECTOR | VT_UI4

 

Метаданные EXIF

Метаданные EXIF определяются как часть спецификации EXIF JPEG. Метаданные EXIF основаны на структуре данных IFD, как определено в стандарте TIFF, и предоставляют дополнительные атрибуты, такие как сведения об устройствах и фотографических атрибутах, используемых для создания изображения. Он определяет каждый элемент метаданных с помощью тега типа ushort. JPEG, TIFF и JPEG-XR поддерживают метаданные EXIF. Сторонние форматы, такие как некоторые необработанные форматы камеры, также могут поддерживать метаданные EXIF.

В следующей таблице приведены относительные пути запроса метаданных для доступа к некоторым часто используемым элементам метаданных EXIF. Структура данных EXIF обеспечивает расширяемость сторонних производителей, и эта таблица не является исчерпывающим списком; Дополнительные сведения см. в стандарте EXIF.

Заметка

Многие элементы метаданных EXIF определяются в стандарте EXIF как тип "RATIONAL" или "SRATIONAL". "РАЦИОНАЛ" состоит из числового и знаменателя, оба из которых являются 32-разрядными целыми числами без знака. Числитель содержится в высоких 32 битах и знаменатель в низких 32 битах. В WICони возвращаются как PROPVARIANT с типом VT_UI8 или VT_I8 соответственно; фактическое значение хранится в виде ULARGE_INTEGER или LARGE_INTEGER соответственно. Чтобы получить доступ к числительу и знаменателю, ознакомьтесь с элементами HighPart и LowPart значения ULARGE_INTEGER или LARGE_INTEGER.

 

Заметка

Для правильного использования некоторых элементов метаданных в приведенной ниже таблице требуется дополнительная интерпретация или информация. Например, элемент метаданных ColorSpace возвращает proPVARIANT типа VT_UI2. Однако в соответствии со стандартом EXIF он интерпретируется как перечисление. Дополнительные сведения см. в стандарте EXIF.

 

Относительный путь Имя Тип
/{ushort=36864} ExifVersion VT_BLOB
/{ushort=40960} FlashpixVersion VT_BLOB
/{ushort=40961} ColorSpace VT_UI2
/{ushort=40962} PixelXDimension VT_UI2 или VT_UI4
/{ushort=40963} PixelYDimension VT_UI2 или VT_UI4
/{ushort=37500} MakerNote VT_BLOB
/{ushort=37510} UserComment VT_LPWSTR
/{ushort=36867} DateTimeOriginal VT_LPSTR
/{ushort=36868} DateTimeDigitized VT_LPSTR
/{ushort=42016} ImageUniqueID VT_LPSTR
/{ushort=42032} CameraOwnerName VT_LPSTR
/{ushort=42033} BodySerialNumber VT_LPSTR
/{ushort=42034} LensSpecification VT_VECTOR | VT_UI8
/{ushort=42035} LensMake VT_LPSTR
/{ushort=42036} LensModel VT_LPSTR
/{ushort=42037} LensSerialNumber VT_LPSTR
/{ushort=33434} ExposureTime VT_UI8
/{ushort=33437} FNumber VT_UI8
/{ushort=34850} ЭкспозицияProgram VT_UI2
/{ushort=34852} SpectralSensitivity VT_LPSTR
/{ushort=34855} Фотографияsensitivity VT_VECTOR | VT_UI2
/{ushort=34856} OECF VT_BLOB
/{ushort=34864} КонфиденциальностьType VT_UI2
/{ushort=34865} StandardOutputSensitivity VT_UI4
/{ushort=34866} Recommended ExposureIndex VT_UI4
/{ushort=34867} ISOSpeed VT_UI4
/{ushort=34868} ISOSpeedLatitudeyyy VT_UI4
/{ushort=34869} ISOSpeedLatitudezzz VT_UI4
/{ushort=37377} ShutterSpeedValue VT_I8
/{ushort=37378} ApertureValue VT_UI8
/{ushort=37379} BrightnessValue VT_I8
/{ushort=37380} ExposureBiasValue VT_I8
/{ushort=37381} MaxApertureValue VT_UI8
/{ushort=37382} SubjectDistance VT_UI8
/{ushort=37383} MeteringMode VT_UI2
/{ushort=37384} LightSource VT_UI2
/{ushort=37385} Вспышка VT_UI2
/{ushort=37386} FocalLength VT_UI8
/{ushort=37396} SubjectArea VT_VECTOR | VT_UI2
/{ushort=41483} Flash Хейт VT_UI8
/{ushort=41484} SpatialFrequencyResponse VT_BLOB
/{ushort=41486} FocalPlaneXResolution VT_UI8
/{ushort=41487} FocalPlaneYResolution VT_UI8
/{ushort=41488} FocalPlaneResolutionUnit VT_UI2
/{ushort=41492} SubjectLocation VT_VECTOR | VT_UI2
/{ushort=41493} ЭкспозицияIndex VT_UI8
/{ushort=41495} SensingMethod VT_UI2
/{ushort=41728} FileSource VT_BLOB
/{ushort=41729} SceneType VT_BLOB
/{ushort=41730} CFAPattern VT_BLOB
/{ushort=41985} CustomRendered VT_UI2
/{ushort=41986} ExposureMode VT_UI2
/{ushort=41987} WhiteBalance VT_UI2
/{ushort=41988} DigitalZoomRatio VT_UI8
/{ushort=41989} FocalLengthIn35mmFilm VT_UI2
/{ushort=41990} SceneCaptureType VT_UI2
/{ushort=41991} GainControl VT_UI8
/{ushort=41992} Контраст VT_UI2
/{ushort=41993} Насыщение VT_UI2
/{ushort=41994} Резкость VT_UI2
/{ushort=41995} DeviceSettingDescription VT_BLOB
/{ushort=41996} SubjectDistanceRange VT_UI2

 

Метаданные GPS

Метаданные GPS содержат сведения о географическом расположении и определяются как часть спецификации EXIF JPEG. Он определяет каждый элемент метаданных с помощью тега типа ushort. JPEG, TIFF и JPEG-XR поддерживают метаданные GPS; Сторонние форматы, такие как некоторые необработанные форматы камеры, также могут поддерживать метаданные GPS.

В следующей таблице приведены относительные пути запроса метаданных для доступа к некоторым часто используемым элементам метаданных GPS. Эта таблица не является исчерпывающим списком; Дополнительные сведения см. в стандарте EXIF.

Заметка

Многие элементы метаданных GPS определяются в стандарте EXIF как тип "RATIONAL". "РАЦИОНАЛ" состоит из числового и знаменателя, оба из которых являются 32-разрядными целыми числами без знака. Числитель содержится в высоких 32 битах и знаменатель в низких 32 битах. В WICвозвращаются как PROPVARIANT с типом VT_UI8. Фактическое значение хранится как ULARGE_INTEGER. Чтобы получить доступ к числительу и знаменателю, считайте элементы HighPart и LowPart значения ULARGE_INTEGER.

 

Заметка

Для правильного использования некоторых элементов метаданных в таблице требуется дополнительная интерпретация или информация. Например, элемент метаданных GPSLatitudeRef возвращает PROPVARIANT типа VT_LPSTR. В соответствии со стандартом EXIF эта строка имеет значение "N" или "S", представляющее северную или южную широту. Дополнительные сведения см. в стандарте EXIF.

 

Относительный путь Имя Тип
{ushort=0} GPSVersionID VT_VECTOR | VT_UI1
{ushort=1} GPSLatitudeRef VT_LPSTR
{ushort=2} GPSLatitude VT_VECTOR | VT_UI8
{ushort=3} GPSLongitudeRef VT_LPSTR
{ushort=4} GPSLongitude {ushort=4} GPSLongitude VT_VECTOR | VT_UI8
{ushort=5} GPSAltitudeRef VT_UI1
{ushort=6} GPSAltitude VT_UI8
{ushort=7} GPSTimeStamp VT_VECTOR | VT_UI8
{ushort=8} GPSSatellites VT_LPSTR
{ushort=9} GPSStatus VT_LPSTR
{ushort=10} GPSMeasureMode VT_LPSTR
{ushort=11} GPSDOP VT_UI8
{ushort=12} GPSSpeedRef VT_LPSTR
{ushort=13} GPSSpeed VT_UI8
{ushort=14} GPSTrackRef VT_LPSTR
{ushort=15} GPSTrack VT_UI8

 

Метаданные XMP

XMP — это стандарт расширяемых метаданных на основе XML. Элементы метаданных могут быть иерархическими и содержать сложные структуры данных. JPEG, TIFF и JPEG-XR поддерживают метаданные XMP. Сторонние форматы, такие как некоторые необработанные форматы камеры, также могут поддерживать метаданные XMP.

Стандарт XMP можно получить от: https://www.adobe.com/devnet/xmp.html.

XMP и позволяет сторонним сущностям публиковать собственные схемы или пространства имен, что позволяет им определять новые элементы метаданных без необходимости изменять стандарт XMP. Схема XMP однозначно определяется URL-адресом, но WIC предоставляет набор понятных идентификаторов для известных схем.

Элементы метаданных XMP определяются строковым именем, а также идентификатором схемы. В качестве рекомендации каждый запрос метаданных XMP должен указывать как схему, так и имя. Если идентификатор схемы отсутствует, JPEG попытается сопоставить имя метаданных во всех пространствах имен, присутствующих в пакете метаданных XMP.

Например, чтобы получить свойство Rating, определенное схемой XMP в изображении JPEG, используйте следующий запрос:

  • /xmp/{wstr=https://ns.adobe.com/xap/1.0/}:Rating

Первая часть "/xmp" извлекает средство чтения метаданных XMP или записи для образа. "https://ns.adobe.com/xap/1.0/" — ЭТО URL-адрес схемы XMP, как определено в стандарте XMP. URL-адрес заключен в выражение данных, чтобы разрешить использование символов, таких как косая черта (/). Наконец, "Оценка" — это фактическое имя элемента метаданных, определенное схемой XMP, и оно отделяется от идентификатора схемы двоеточием (:)).

В этом примере WIC предоставляет понятный идентификатор схемы XMP, которую можно использовать вместо полного URL-адреса. Таким образом, предыдущий запрос можно переписать следующим образом:

  • /xmp/xmp:Rating

WIC предоставляет понятные префиксы схемы для следующих часто используемых схем:

Префикс схемы URL-адрес схемы Ссылка на "Стандартный"
rdf https://www.w3.org/1999/02/22-rdf-syntax-ns# https://www.w3.org/TR/REC-rdf-syntax/
постоянный ток https://purl.org/dc/elements/1.1/ https://www.adobe.com/devnet/xmp.html
xmp https://ns.adobe.com/xap/1.0/ https://www.adobe.com/devnet/xmp.html
xmpidq https://ns.adobe.com/xmp/Identifier/qual/1.0/ https://www.adobe.com/devnet/xmp.html
xmpRights https://ns.adobe.com/xap/1.0/rights/ https://www.adobe.com/devnet/xmp.html
xmpMM https://ns.adobe.com/xap/1.0/mm/ https://www.adobe.com/devnet/xmp.html
xmpBJ https://ns.adobe.com/xap/1.0/bj/ https://www.adobe.com/devnet/xmp.html
xmpTPg https://ns.adobe.com/xap/1.0/t/pg/ https://www.adobe.com/devnet/xmp.html
формат pdf https://ns.adobe.com/pdf/1.3/ https://www.adobe.com/devnet/xmp.html
фотошоп https://ns.adobe.com/photoshop/1.0/ https://www.adobe.com/devnet/xmp.html
размолвка https://ns.adobe.com/tiff/1.0/ https://www.adobe.com/devnet/xmp.html
exif https://ns.adobe.com/exif/1.0/ https://www.adobe.com/devnet/xmp.html
stDim https://ns.adobe.com/xap/1.0/sType/Dimensions# https://www.adobe.com/devnet/xmp.html
xapGImg https://ns.adobe.com/xap/1.0/g/img/ https://www.adobe.com/devnet/xmp.html
stEvt https://ns.adobe.com/xap/1.0/sType/ResourceEvent# https://www.adobe.com/devnet/xmp.html
stRef https://ns.adobe.com/xap/1.0/sType/ResourceRef# https://www.adobe.com/devnet/xmp.html
stVer https://ns.adobe.com/xap/1.0/sType/Version# https://www.adobe.com/devnet/xmp.html
stJob https://ns.adobe.com/xap/1.0/sType/Job# https://www.adobe.com/devnet/xmp.html
aux https://ns.adobe.com/exif/1.0/aux/ https://www.adobe.com/devnet/xmp.html
crs https://ns.adobe.com/camera-raw-settings/1.0/ https://www.adobe.com/devnet/xmp.html
xmpDM https://ns.adobe.com/xmp/1.0/DynamicMedia/ https://www.adobe.com/devnet/xmp.html
Iptc4xmpCore https://iptc.org/std/Iptc4xmpCore/1.0/xmlns/ https://www.iptc.org/cms/site/index.html?channel=CH0099
MicrosoftPhoto https://ns.microsoft.com/photo/1.0/ Обзор тегов
НАРДЕП https://ns.microsoft.com/photo/1.2/ Обзор тегов
MPRI https://ns.microsoft.com/photo/1.2/t/RegionInfo\# Обзор тегов
MPReg https://ns.microsoft.com/photo/1.2/t/Region\# Обзор тегов

 

Если для конкретной схемы нет понятного префикса схемы, например если изображение содержит метаданные XMP с помощью пользовательской схемы сторонних производителей, запрос метаданных должен использовать полный URL-адрес схемы.

концептуальные

обзор компонента образов Windows

Обзор метаданных WIC

Обзор языка запросов метаданных

Обзор расширяемости метаданных

практическое руководство. Повторное кодирование изображения JPEG с помощью метаданных