Consultas de metadados de formato de imagem nativa
Este tópico fornece uma visão geral das consultas de linguagem de consulta de metadados para ler e gravar metadados compatíveis com imagens GIF, PNG, TIFF e JPEG. Ele inclui metadados específicos para cada formato de imagem, bem como metadados compatíveis com vários formatos.
Este tópico inclui as seções a seguir.
- Pré-requisitos
- Expressão de política de metadados de foto
- Metadados específicos do formato de arquivo
- Metadados independentes de formato de arquivo
- Tópicos relacionados
Pré-requisitos
Para entender este tópico, você deve estar familiarizado com o sistema de metadados do Componente de Imagem do Windows (WIC), conforme descrito na Visão geral dos metadados do WIC. Você também deve estar familiarizado com a linguagem de consulta usada para ler e gravar metadados, conforme descrito em Visão geral da linguagem de consulta de metadados.
Expressão de política de metadados de foto
Além de dar suporte à linguagem de consulta de metadados, o WIC também aceita nomes de propriedades canônicas do Sistema de Propriedades do Windows. O WIC dá suporte a um subconjunto do namespace de propriedade do Windows relevante para formatos de imagem, conforme descrito em Políticas de Metadados de Fotos. Uma propriedade do Windows usada como uma consulta de metadados wic é conhecida como uma expressão de política de metadados de foto.
Por exemplo, a expressão de política de metadados de foto para o sinalizador de orientação EXIF é:
Em geral, as expressões de política são recomendadas em consultas de metadados nativos para itens comuns de metadados de imagem cobertos pelo namespace da propriedade do Windows. A linguagem de consulta de metadados é mais adequada para casos em que o acesso de baixo nível a itens de metadados de imagem específicos é necessário ou para itens de metadados personalizados ou avançados que não são compatíveis com o sistema de propriedades do Windows. Para obter mais informações, consulte Expressões de política de metadados de fotos.
Metadados específicos do formato de arquivo
As seções a seguir contêm tabelas que listam as consultas de metadados disponíveis para cada tipo de arquivo de imagem. Cada tabela tem as seguintes colunas:
- Caminho – o caminho de consulta usado para recuperar o item de metadados.
- Nome – o nome do item de metadados.
- Tipo – o tipo do item de metadados recuperado do caminho da consulta. Os metadados recuperados pelo WIC são retornados na forma de PROPVARIANT, que relata o tipo de dados usando a enumeração VARTYPE.on.
Os caminhos de consulta são usados pela API de metadados do WIC para acessar os metadados inseridos de uma imagem. O código de exemplo a seguir demonstra o uso de um IWICMetadataQueryReader para consultar o bloco de metadados IFD de um 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.
}
Metadados GIF
O formato de imagem GIF (Graphics Interchange Format) dá suporte a metadados globais e de nível de quadro. As duas seções a seguir fornecem os caminhos de consulta de metadados disponíveis para metadados globais e de nível de quadro do GIF.
Observação
Para obter uma lista completa de metadados GIF junto com informações mais detalhadas, consulte o padrão GIF no site do W3C.
Metadados globais
A tabela a seguir fornece os caminhos de consulta de metadados disponíveis que podem ser usados para acessar metadados GIF globais.
Caminho | Nome | Type |
---|---|---|
/commentext ou /[*]commentext onde * = 0 a N | Extensão de Comentário | VT_UNKNOWN - Um leitor/gravador de consulta |
/commentext/TextEntry | VT_LPSTR | |
/logscrdesc | Descrição da Tela Lógica | VT_UNKNOWN - Um leitor/gravador de consulta |
/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 ou /[*]appext where * = 0 to N | Extensão de Aplicativo | VT_UNKNOWN - Um leitor/gravador de consulta |
/appext/Application | VT_UI1 | VT_VECTOR | |
/appext/Data | VT_UI1 | VT_VECTOR |
Metadados de quadro
A tabela a seguir fornece os caminhos de consulta de metadados disponíveis que podem ser usados para acessar metadados GIF no nível do quadro.
Caminho | Nome | Type |
---|---|---|
/grctlext | Extensão de Controle Gráfico | VT_UNKNOWN - leitor/gravador de consulta |
/grctlext/Disposal | VT_UI1 | |
/grctlext/UserInputFlag | VT_BOOL | |
/grctlext/TransparencyFlag | VT_BOOL | |
/grctlext/Delay | VT_UI2 | |
/grctlext/TransparentColorIndex | VT_UI1 | |
/imgdesc | Descritor de imagem | VT_UNKNOWN – leitor/gravador de consulta |
/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 |
Metadados PNG
O formato de imagem PNG (Portable Network Graphics) dá suporte a metadados no nível do quadro.
Observação
Para obter uma lista completa de metadados PNG juntamente com informações mais detalhadas, consulte o padrão PNG no site do W3C.
Metadados de quadro
A tabela a seguir fornece os caminhos de consulta de metadados disponíveis que podem ser usados para acessar metadados PNG no nível do quadro.
Caminho | Nome | Type |
---|---|---|
/tEXt ou /[*]tEXt em que * = 0 a N | Parte de Texto | VT_UNKNOWN - leitor/gravador de consulta tEXt |
/tEXt/{str=*} em que * = identificar palavra-chave para texto | VT_LPSTR | |
/gAMA | Gama Chunk | VT_UNKNOWN – leitor/gravador de consulta gAMA |
/gAMA/ImageGamma | VT_UI4 | |
/iTXt ou /[*]iTXt em que * = 0 a N | Parte de IText | VT_UNKNOWN – leitor/gravador de consulta iTXt |
/iTXt/Keyword | VT_LPSTR | |
/iTXt/CompressionFlag | VT_UI1 | |
/iTXt/LanguageTag | LPSTR | |
/iTXt/TranslatedKeyword | LPWSTR | |
/iTXt/TextEntry | LPWSTR | |
/cHRM | Parte do HRM | VT_UNKNOWN – leitor/gravador de consulta 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 – leitor/gravador de consulta sRGB |
/sRGB/RenderingIntent | VT_UI1 | |
/Tempo | Parte de Tempo | VT_UNKNOWN - leitor/gravador de consulta tIME |
/tIME/Year | VT_UI2 | |
/tIME/Month | VT_UI1 | |
/tIME/Day | VT_UI1 | |
/tIME/Hora | VT_UI1 | |
/tIME/Minute | VT_UI1 | |
/tIME/Second | VT_UI1 | |
/bKGD | Parte da tela de fundo | VT_UNKNOWN - leitor/gravador de consulta bKGB |
/bKGD/BackgroundColor | VT_UI1, VT_UI2 ou VT_UI2 | VT_VECTOR | |
/hIST | Parte hIST | VT_UNKNOWN – leitor/gravador de consulta hIST |
/hIST/Frequencies | VT_VECTOR | VT_UI2 | |
/iCCP | Parte do iCCP | VT_UNKNOWN – leitor/gravador de consulta iCCP |
/iCCP/ProfileName | VT_LPSTR | |
/iCCP/ProfileData | VT_VECTOR | VT_UI1 |
Metadados TIFF
O formato de imagem TIFF (Formato de Arquivo de Imagem Marcado) dá suporte a metadados no nível do quadro.
Observação
Para obter uma lista completa de metadados TIFF, juntamente com informações mais detalhadas, consulte o padrão TIFF.
Metadados de quadro
A tabela a seguir fornece os caminhos de consulta de metadados disponíveis que podem ser usados para acessar metadados TIFF no nível do quadro.
Caminho | Nome | Type |
---|---|---|
/Ifd | 0 IFD | VT_UNKNOWN - Um leitor/gravador de consulta |
/ifd/{ushort=*} em que * = 0 a 65535 | Entrada IFD por ID | Variável |
/ifd/thumb ou /ifd/{ushort=330} | IFD de miniatura | VT_UNKNOWN - Um leitor/gravador de consulta |
/ifd/xmp ou /ifd/{ushort=700} | XMP | VT_UNKNOWN - Um leitor/gravador de consulta |
/ifd/exif ou /ifd/{ushort=34665} | EXIF | VT_UNKNOWN - Um leitor/gravador de consulta |
/ifd/gps ou /ifd/{ushort=34853} | GPS | VT_UNKNOWN - Um leitor/gravador de consulta |
/ifd/exif/interop ou /ifd/exif/{ushort=40965} | Interoperabilidade | VT_UNKNOWN - Um leitor/gravador de consulta |
/ifd/iptc ou /ifd/{ushort=33723} | IPTC | VT_UNKNOWN - Um leitor/gravador de consulta |
/ifd/iptc/{str=*} em que * = IPTC palavra-chave | Entrada IPTC | Variável |
/ifd/irb/8bimiptc/iptc | IPTC | VT_UNKNOWN - Um leitor/gravador de consulta |
/ifd/irb/8bimiptc/iptc/{str=*} | Entrada IPTC | Variável |
Metadados JPEG
O formato de imagem JPEG dá suporte a metadados no nível do quadro.
Observação
Para obter a lista completa de metadados JPEG juntamente com informações mais detalhadas, consulte o padrão EXIF JPEG.
Metadados de quadro
A tabela a seguir fornece os caminhos de consulta de metadados disponíveis que podem ser usados para acessar metadados JPEG no nível do quadro.
Caminho | Nome | Type |
---|---|---|
/app0 | App0 | VT_UNKNOWN – Leitor/Gravador de Consulta do App0 |
/app0/{ushort=0} | Versão | VT_UI2 |
/app0/{ushort=1} | Unidades | 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} | ThumbnailData | VT_BLOB |
/app1 | Aplicativo1 | VT_UNKNOWN – Leitor/Gravador de Consulta do App1 |
/app1/ifd ou /app1/{ushort=0} | 0 IFD | VT_UNKNOWN – Leitor/Gravador de Consulta IFD |
/app1/ifd/exif ou /app1/ifd/{ushort=34665} | EXIF IFD | VT_UNKNOWN – Leitor/Gravador de Consulta EXIF |
/app1/thumb ou /app1/{ushort=1} | IFD de miniatura | VT_UNKNOWN – Leitor/Gravador de Consulta SubIFD |
/app13 | App13 | VT_UNKNOWN – Leitor/Gravador de Consulta do App13 |
/app13/irb ou /app13/{ushort=0} | IRB | VT_UNKNOWN – Leitor/Gravador de Consulta IRB |
/app13/irb/{ulonglong=*} onde * = Identificador IRB (consulte especificação IRB) | Entrada IRB | VT_UNKNOWN - Leitor/Gravador de Consulta Desconhecido |
/app13/irb/{ulonglong=*}/{} | Conteúdo da entrada IRB | VT_BLOB |
/app13/irb/8bimiptc ou /app13/irb/{ulonglong=61857348781060} | 8BIMIPTC | VT_UNKNOWN – Leitor/Gravador de Consultas 8BIMIPTC |
/app13/irb/8bimiptc/iptc | IPTC | VT_UNKNOWN – Leitor/Gravador de Consultas IPTC |
/app13/irb/8bimiptc/iptc/{str=*} | Entrada IPTC | Variável |
/app13/irb/8bimResInfo ou /app13/irb/{ulonglong=61857348781037} | Informações de resolução 8BIM | VT_UNKNOWN – Leitor/Gravador de Consultas |
/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 | Comentário JPEG | VT_UNKNOWN - Leitor/Gravador de Consultas de Comentário |
/com/TextEntry | LPSTR | |
/Luminância | Luminância | VT_UNKNOWN - Leitor/Gravador de Consulta de Luminância |
/luminance/TableEntry | VT_UI1 | VT_VECTOR | |
/Chrominance | Crominância | VT_UNKNOWN - Leitor/Gravador de Consulta de Chrominance |
/chrominance/TableEntry | VT_UI1 | VT_VECTOR | |
/Xmp | XMP | VT_UNKNOWN – Leitor/Gravador de Consultas XMP |
Metadados independentes de formato de arquivo
As seções a seguir contêm informações sobre formatos de metadados compatíveis com vários formatos de imagem. Cada tabela tem as seguintes colunas:
- Caminho Relativo – o caminho de consulta usado para recuperar o item de metadados, em relação ao bloco de metadados.
- Nome – o nome do item de metadados.
- Tipo – o tipo do item de metadados recuperado do caminho da consulta. Os metadados recuperados pelo WIC são retornados na forma de PROPVARIANT, que relata o tipo de dados usando a enumeração VARTYPE.
Observação
As tabelas aqui fornecem apenas o caminho relativo para acessar um item de metadados dentro do formato de metadados específico. Para obter a consulta de metadados totalmente qualificada, acrescente esse caminho relativo à consulta de bloco de metadados para o formato de metadados específico.
Por exemplo, para acessar o sinalizador de orientação em um arquivo JPEG, use a seguinte expressão:
- /app1/ifd/{ushort=274}
Em um arquivo TIFF, use a seguinte expressão:
- /ifd/{ushort=274}
Neste exemplo, observe que diferentes formatos de imagem podem armazenar um bloco de metadados específico de forma diferente e, portanto, a consulta de metadados totalmente qualificada para acessar um item de metadados específico pode ser específica do formato de imagem. Consulte a tabela de cada formato para encontrar a consulta de metadados apropriada para acessar um bloco de metadados específico.
Metadados IFD
Um IFD ou Diretório de Arquivos de Imagem é uma estrutura de dados definida no padrão TIFF que pode conter metadados de imagem. Ele identifica cada item de metadados usando uma marca do tipo ushort. JPEG, TIFF e JPEG-XR dão suporte a metadados IFD. Formatos de terceiros, como alguns formatos brutos de câmera, também podem dar suporte a metadados IFD.
A tabela aqui fornece caminhos de consulta de metadados relativos para acessar alguns itens de metadados IFD comumente usados. A estrutura de dados IFD permite extensibilidade de terceiros e essa tabela não é uma lista exaustiva. Consulte o padrão TIFF para obter mais informações.
Observação
Embora JPEG e outros formatos ofereçam suporte à estrutura de dados IFD, eles podem não usar todos os itens de metadados que ele define. Consulte o padrão de cada formato para obter mais informações.
Observação
Determinados itens de metadados na tabela aqui exigem interpretação ou informações adicionais a serem usadas corretamente, consulte o padrão TIFF. Por exemplo, o item de metadados PhotometricInterpretation retorna um PROPVARIANT do tipo VT_UI2. No entanto, de acordo com o padrão TIFF, ele é interpretado como uma enumeração. Consulte o padrão TIFF para obter mais informações.
Caminho relativo | Nome | Type |
---|---|---|
/{ushort=256} | ImageWidth | VT_UI2 ou VT_UI4 |
/{ushort=257} | ImageLength | VT_UI2 ou VT_UI4 |
/{ushort=258} | BitsPerSample | VT_UI2 |
/{ushort=259} | Compactação | VT_UI2 |
/{ushort=262} | PhotometricInterpretation | VT_UI2 |
/{ushort=274} | Orientation | 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} | Faça | VT_LPSTR |
/{ushort=272} | Modelar | VT_LPSTR |
/{ushort=305} | Software | VT_LPSTR |
/{ushort=315} | Artista | VT_LPSTR |
/{ushort=33432} | Direitos autorais | VT_LPSTR |
/{ushort=338} | ExtraSamples | VT_UI2 |
/{ushort=254} | NewSubfileType | VT_UI4 |
/{ushort=278} | RowsPerStrip | VT_UI2 ou VT_UI4 |
/{ushort=279} | StripByteCounts | VT_VECTOR | VT_UI2 ou VT_VECTOR | VT_UI4 |
/{ushort=273} | StripOffsets | VT_VECTOR | VT_UI2 ou VT_VECTOR | VT_UI4 |
Metadados EXIF
Os metadados EXIF são definidos como parte da especificação EXIF JPEG. Os metadados EXIF baseiam-se na estrutura de dados IFD, conforme definido no padrão TIFF, e fornecem atributos adicionais, como informações sobre os dispositivos e atributos fotográficos usados para criar a imagem. Ele identifica cada item de metadados usando uma marca do tipo ushort. JPEG, TIFF e JPEG-XR dão suporte a metadados EXIF. Formatos de terceiros, como alguns formatos brutos de câmera, também podem dar suporte a metadados EXIF.
A tabela a seguir fornece caminhos de consulta de metadados relativos para acessar alguns itens de metadados EXIF comumente usados. A estrutura de dados EXIF permite extensibilidade de terceiros e essa tabela não é uma lista exaustiva; consulte o padrão EXIF para obter mais informações.
Observação
Muitos itens de metadados EXIF são definidos no padrão EXIF como o tipo "RACIONAL" ou "SRATIONAL". Um "RACIONAL" consiste em um numerador e denominador, ambos inteiros sem sinal de 32 bits. O numerador está contido nos 32 bits altos e no denominador nos 32 bits baixos. No WIC, eles são retornados como PROPVARIANT com um tipo de VT_UI8 ou VT_I8, respectivamente; o valor real é armazenado como ULARGE_INTEGER ou LARGE_INTEGER, respectivamente. Para acessar o numerador e o denominador, leia os membros HighPart e LowPart do valor ULARGE_INTEGER ou LARGE_INTEGER.
Observação
Determinados itens de metadados na tabela abaixo exigem interpretação ou informações adicionais para usar corretamente. Por exemplo, o item de metadados ColorSpace retorna um PROPVARIANT do tipo VT_UI2. No entanto, de acordo com o padrão EXIF, ele é interpretado como uma enumeração. Consulte o padrão EXIF para obter mais informações.
Caminho relativo | Nome | Type |
---|---|---|
/{ushort=36864} | ExifVersion | VT_BLOB |
/{ushort=40960} | FlashpixVersion | VT_BLOB |
/{ushort=40961} | Colorspace | VT_UI2 |
/{ushort=40962} | PixelXDimension | VT_UI2 ou VT_UI4 |
/{ushort=40963} | PixelYDimension | VT_UI2 ou 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} | ExposureProgram | VT_UI2 |
/{ushort=34852} | SpectralSensitivity | VT_LPSTR |
/{ushort=34855} | PhotoSensitivity | VT_VECTOR | VT_UI2 |
/{ushort=34856} | OECF | VT_BLOB |
/{ushort=34864} | SensitivityType | VT_UI2 |
/{ushort=34865} | StandardOutputSensitivity | VT_UI4 |
/{ushort=34866} | RecommendedExposturaIndex | VT_UI4 |
/{ushort=34867} | ISOSpeed | VT_UI4 |
/{ushort=34868} | ISOSpeedLatitudeyy | 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} | Piscando | VT_UI2 |
/{ushort=37386} | FocalLength | VT_UI8 |
/{ushort=37396} | SubjectArea | VT_VECTOR | VT_UI2 |
/{ushort=41483} | FlashEnergy | 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} | ExposureIndex | 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} | Contraste | VT_UI2 |
/{ushort=41993} | Saturação | VT_UI2 |
/{ushort=41994} | Nitidez | VT_UI2 |
/{ushort=41995} | DeviceSettingDescription | VT_BLOB |
/{ushort=41996} | SubjectDistanceRange | VT_UI2 |
Metadados de GPS
Os metadados gps contêm informações de geolocalização e são definidos como parte da especificação EXIF JPEG. Ele identifica cada item de metadados usando uma marca do tipo ushort. JPEG, TIFF e JPEG-XR dão suporte a metadados GPS; Formatos de terceiros, como alguns formatos brutos de câmera, também podem dar suporte a metadados gps.
A tabela a seguir fornece caminhos de consulta de metadados relativos para acessar alguns itens de metadados GPS comumente usados. Esta tabela não é uma lista exaustiva; consulte o padrão EXIF para obter mais informações.
Observação
Muitos itens de metadados GPS são definidos no padrão EXIF como o tipo "RACIONAL". Um "RACIONAL" consiste em um numerador e denominador, ambos inteiros sem sinal de 32 bits. O numerador está contido nos 32 bits altos e no denominador nos 32 bits baixos. No WIC, eles são retornados como PROPVARIANT com um tipo de VT_UI8. O valor real é armazenado como ULARGE_INTEGER. Para acessar o numerador e o denominador, leia os membros HighPart e LowPart do valor ULARGE_INTEGER.
Observação
Determinados itens de metadados na tabela aqui exigem interpretação ou informações adicionais para usar corretamente. Por exemplo, o item de metadados GPSLatitudeRef retorna um PROPVARIANT do tipo VT_LPSTR. De acordo com o padrão EXIF, essa cadeia de caracteres é "N" ou "S", representando a latitude Norte ou Sul. Consulte o padrão EXIF para obter mais informações.
Caminho relativo | Nome | Type |
---|---|---|
{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 |
Metadados XMP
O XMP é um padrão de metadados extensível baseado em XML. Os itens de metadados podem ser hierárquicos e conter estruturas de dados complexas. JPEG, TIFF e JPEG-XR dão suporte a metadados XMP. Formatos de terceiros, como alguns formatos brutos de câmera, também podem dar suporte a metadados XMP.
O padrão XMP pode ser obtido de: https://www.adobe.com/devnet/xmp.html.
XMP e permite que entidades de terceiros publiquem seus próprios esquemas ou namespaces, o que lhes permite definir novos itens de metadados sem precisar modificar o padrão XMP. Um esquema XMP é identificado exclusivamente por uma URL, mas o WIC fornece um conjunto de identificadores amigáveis para esquemas conhecidos.
Os itens de metadados XMP são identificados por um nome de cadeia de caracteres, bem como por um identificador de esquema. Como prática recomendada, cada consulta de metadados XMP deve especificar o esquema e o nome. Se o identificador de esquema estiver ausente, o JPEG tentará corresponder ao nome dos metadados em todos os namespaces presentes no pacote de metadados XMP.
Por exemplo, para obter a propriedade Rating conforme definido pelo esquema XMP em uma imagem JPEG, use a seguinte consulta:
- /xmp/{wstr=https://ns.adobe.com/xap/1.0/}:Rating
A primeira parte, "/xmp", recupera o leitor/gravador de metadados XMP para a imagem. "https://ns.adobe.com/xap/1.0/" é a URL do esquema XMP, conforme definido no padrão XMP. A URL é colocada em uma expressão de dados para permitir o uso de caracteres, como uma barra (/). Por fim, "Rating" é o nome real do item de metadados, conforme definido pelo esquema XMP e é separado do identificador de esquema por dois-pontos (:).
Neste exemplo, o WIC fornece um identificador amigável para o esquema XMP que pode ser usado no lugar da URL completa. Portanto, a consulta anterior pode ser reescrita como:
- /xmp/xmp:Rating
O WIC fornece prefixos de esquema amigáveis para os seguintes esquemas comumente usados:
Se não houver nenhum prefixo de esquema amigável para um esquema específico, por exemplo, se uma imagem contiver metadados XMP usando um esquema de terceiros personalizado, a consulta de metadados deverá usar a URL de esquema completa.
Tópicos relacionados
-
Conceitual