Metadatafrågor för inbyggt bildformat
Det här avsnittet innehåller en översikt över frågespråket metadata frågor för läsning och skrivning av metadata som stöds av GIF-, PNG-, TIFF- och JPEG-bilder. Den innehåller metadata som är specifika för varje bildformat, samt metadata som stöds av flera format.
Det här avsnittet innehåller följande avsnitt.
- förutsättningar
- principuttryck för fotometadata
- filformatsspecifika metadata
- oberoende metadata i filformat
- Relaterade ämnen
Förutsättningar
För att förstå det här avsnittet bör du känna till metadatasystemet för Windows Imaging Component (WIC) enligt beskrivningen i översikt över WIC-metadata. Du bör också känna till det frågespråk som används för att läsa och skriva metadata, enligt beskrivningen i Översikt över metadatafrågespråk.
Principuttryck för fotometadata
Förutom att stödja frågespråket för metadata accepterar WIC även kanoniska egenskapsnamn från Windows Property System. WIC stöder en delmängd av namnområdet för Windows-egenskapen som är relevant för bildformat, enligt beskrivningen i Principer för fotometadata. En Windows-egenskap som används som en WIC-metadatafråga kallas för ett principuttryck för fotometadata.
Principuttrycket för fotometadata för EXIF-orienteringsflaggan är till exempel:
I allmänhet rekommenderas principuttryck för interna metadatafrågor för vanliga bildmetadataobjekt som omfattas av windows-egenskapsnamnområdet. Frågespråket för metadata passar bäst för fall där åtkomst på låg nivå till specifika bildmetadataobjekt behövs, eller för anpassade eller avancerade metadataobjekt som inte stöds av Windows-egenskapssystemet. Mer information finns i principuttryck för fotometadata.
Specifika metadata för filformat
Följande avsnitt innehåller tabeller som visar tillgängliga metadatafrågor för varje bildfiltyp. Varje tabell har följande kolumner:
- Path – Frågesökvägen som används för att hämta metadataobjektet.
- Name – Namnet på metadataobjektet.
- Type – Typen av metadataobjekt som hämtats från frågesökvägen. Metadata som hämtas av WIC- returneras i form av PROPVARIANT, som rapporterar datatypen med vartype-uppräkning.on.
Frågesökvägarna används av WIC-metadata-API:et för att komma åt inbäddade metadata för en bild. Följande exempelkod visar hur du använder en IWICMetadataQueryReader för att fråga efter ETT JPEG-metadatablock.
// 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-metadata
Gif-bildformatet (Graphics Interchange Format) stöder både globala metadata och metadata på ramnivå. Följande två avsnitt innehåller metadatafrågesökvägarna som är tillgängliga för GIF:s globala metadata och ramnivåmetadata.
Not
En fullständig lista över GIF-metadata tillsammans med mer detaljerad information finns i GIF-standard på W3C-webbplatsen.
Globala metadata
Följande tabell innehåller tillgängliga metadatafrågesökvägar som kan användas för att komma åt globala GIF-metadata.
Stig | Namn | Typ |
---|---|---|
/commentext eller /[*]commentext där * = 0 till N | Kommentarstillägg | VT_UNKNOWN – En frågeläsare/skrivare |
/commentext/TextEntry | VT_LPSTR | |
/logscrdesc | Beskrivning av logisk skärm | VT_UNKNOWN – En frågeläsare/skrivare |
/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 eller /[*]appext där * = 0 till N | Programtillägg | VT_UNKNOWN – En frågeläsare/skrivare |
/appext/Application | VT_UI1 | VT_VECTOR | |
/appext/Data | VT_UI1 | VT_VECTOR |
Rama in metadata
Följande tabell innehåller tillgängliga metadatafrågesökvägar som kan användas för att komma åt GIF-metadata på ramnivå.
Stig | Namn | Typ |
---|---|---|
/grctlext | Tillägg för grafikkontroll | VT_UNKNOWN – frågeläsare/skrivare |
/grctlext/Avyttring | VT_UI1 | |
/grctlext/UserInputFlag | VT_BOOL | |
/grctlext/TransparencyFlag | VT_BOOL | |
/grctlext/Delay | VT_UI2 | |
/grctlext/TransparentColorIndex | VT_UI1 | |
/imgdesc | Bildbeskrivning | VT_UNKNOWN – frågeläsare/skrivare |
/imgdesc/Left | VT_UI2 | |
/imgdesc/Top | VT_UI2 | |
/imgdesc/Width | VT_UI2 | |
/imgdesc/Höjd | VT_UI2 | |
/imgdesc/LocalColorTableFlag | VT_BOOL | |
/imgdesc/InterlaceFlag | VT_BOOL | |
/imgdesc/SortFlag | VT_BOOL | |
/imgdesc/LocalColorTableSize | VT_UI1 |
PNG-metadata
PNG-bildformatet (Portable Network Graphics) stöder metadata på ramnivå.
Not
En fullständig lista över PNG-metadata tillsammans med mer detaljerad information finns i PNG-standard på W3C-webbplatsen.
Rama in metadata
Följande tabell innehåller tillgängliga metadatafrågesökvägar som kan användas för att komma åt PNG-metadata på ramnivå.
Stig | Namn | Typ |
---|---|---|
/tEXt eller /[*]tEXt där * = 0 till N | Textsegment | VT_UNKNOWN – tEXt-frågeläsare/skrivare |
/tEXt/{str=*} där * = identifierar nyckelord för text | VT_LPSTR | |
/Gama | Gama-segment | VT_UNKNOWN – gAMA-frågeläsare/skrivare |
/gAMA/ImageGamma | VT_UI4 | |
/iTXt eller /[*]iTXt där * = 0 till N | IText-segment | VT_UNKNOWN – iTXt-frågeläsare/skrivare |
/iTXt/Keyword | VT_LPSTR | |
/iTXt/CompressionFlag | VT_UI1 | |
/iTXt/LanguageTag | LPSTR | |
/iTXt/TranslatedKeyword | LPWSTR | |
/iTXt/TextEntry | LPWSTR | |
/cHRM | HRM-segment | VT_UNKNOWN – cHRM-frågeläsare/skrivare |
/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-frågeläsare/skrivare |
/sRGB/RenderingIntent | VT_UI1 | |
/Tid | Tidssegment | VT_UNKNOWN – tIME-frågeläsare/skrivare |
/tIME/Year | VT_UI2 | |
/tIME/Month | VT_UI1 | |
/tIME/Day | VT_UI1 | |
/tIME/Timme | VT_UI1 | |
/tIME/Minute | VT_UI1 | |
/tIME/Second | VT_UI1 | |
/bKGD | Bakgrundssegment | VT_UNKNOWN – bKGB-frågeläsare/skrivare |
/bKGD/BackgroundColor | VT_UI1, VT_UI2 eller VT_UI2 | VT_VECTOR | |
/Hist | hIST-segment | VT_UNKNOWN – hIST-frågeläsare/författare |
/hIST/Frekvenser | VT_VECTOR | VT_UI2 | |
/iCCP | iCCP-segment | VT_UNKNOWN – iCCP-frågeläsare/skrivare |
/iCCP/ProfileName | VT_LPSTR | |
/iCCP/ProfileData | VT_VECTOR | VT_UI1 |
TIFF-metadata
TIFF-bildformatet (Tagged Image File Format) stöder metadata på ramnivå.
Not
En fullständig lista över TIFF-metadata tillsammans med mer detaljerad information finns i TIFF-standarden.
Rama in metadata
Följande tabell innehåller tillgängliga metadatafrågesökvägar som kan användas för att komma åt TIFF-metadata på ramnivå.
Stig | Namn | Typ |
---|---|---|
/ifd | 0 IFD | VT_UNKNOWN – En frågeläsare/skrivare |
/ifd/{ushort=*} där * = 0 till 65535 | IFD-post efter ID | Variabel |
/ifd/thumb eller /ifd/{ushort=330} | IFD för miniatyr | VT_UNKNOWN – En frågeläsare/skrivare |
/ifd/xmp eller /ifd/{ushort=700} | XMP | VT_UNKNOWN – En frågeläsare/skrivare |
/ifd/exif eller /ifd/{ushort=34665} | EXIF | VT_UNKNOWN – En frågeläsare/skrivare |
/ifd/gps eller /ifd/{ushort=34853} | GPS | VT_UNKNOWN – En frågeläsare/skrivare |
/ifd/exif/interop eller /ifd/exif/{ushort=40965} | Interop | VT_UNKNOWN – En frågeläsare/skrivare |
/ifd/iptc eller /ifd/{ushort=33723} | IPTC | VT_UNKNOWN – En frågeläsare/skrivare |
/ifd/iptc/{str=*} där * = IPTC-nyckelord | IPTC-post | Variabel |
/ifd/irb/8bimiptc/iptc | IPTC | VT_UNKNOWN – En frågeläsare/skrivare |
/ifd/irb/8bimiptc/iptc/{str=*} | IPTC-post | Variabel |
JPEG-metadata
JPEG-bildformatet stöder metadata på ramnivå.
Not
Fullständig lista över JPEG-metadata tillsammans med mer detaljerad information finns i EXIF JPEG-standard.
Rama in metadata
Följande tabell innehåller tillgängliga metadatafrågesökvägar som kan användas för att komma åt JPEG-metadata på ramnivå.
Stig | Namn | Typ |
---|---|---|
/app0 | App0 | VT_UNKNOWN – App0 Query Reader/Writer |
/app0/{ushort=0} | Version | VT_UI2 |
/app0/{ushort=1} | Enheter | 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 | App1 | VT_UNKNOWN – App1 Query Reader/Writer |
/app1/ifd eller /app1/{ushort=0} | 0 IFD | VT_UNKNOWN – IFD-frågeläsare/skrivare |
/app1/ifd/exif eller /app1/ifd/{ushort=34665} | EXIF IFD | VT_UNKNOWN – EXIF-frågeläsare/skrivare |
/app1/thumb eller /app1/{ushort=1} | IFD för miniatyr | VT_UNKNOWN – Under-IFD-frågeläsare/skrivare |
/app13 | App13 | VT_UNKNOWN – App13 Query Reader/Writer |
/app13/irb eller /app13/{ushort=0} | IRB | VT_UNKNOWN – IRB-frågeläsare/skrivare |
/app13/irb/{ulonglong=*} där * = IRB-identifierare (se IRB-specifikation) | IRB-post | VT_UNKNOWN – Okänd frågeläsare/skrivare |
/app13/irb/{ulonglong=*}/{} | IRB-postinnehåll | VT_BLOB |
/app13/irb/8bimiptc eller /app13/irb/{ulonglong=61857348781060} | 8BIMIPTC | VT_UNKNOWN – 8BIMIPTC Frågeläsare/skrivare |
/app13/irb/8bimiptc/iptc | IPTC | VT_UNKNOWN – IPTC-frågeläsare/skrivare |
/app13/irb/8bimiptc/iptc/{str=*} | IPTC-post | Variabel |
/app13/irb/8bimResInfo eller /app13/irb/{ulonglong=61857348781037} | Information om 8BIM-upplösning | VT_UNKNOWN – Frågeläsare/skrivare |
/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-kommentar | VT_UNKNOWN – Kommentera frågeläsare/skrivare |
/com/TextEntry | LPSTR | |
/Luminans | Luminans | VT_UNKNOWN – Luminance Query Reader/Writer |
/luminance/TableEntry | VT_UI1 | VT_VECTOR | |
/krominans | Krominans | VT_UNKNOWN – Chrominance Query Reader/Writer |
/chrominance/TableEntry | VT_UI1 | VT_VECTOR | |
/xmp | XMP | VT_UNKNOWN – XMP-frågeläsare/skrivare |
Oberoende metadata för filformat
Följande avsnitt innehåller information om metadataformat som stöds av flera bildformat. Varje tabell har följande kolumner:
- relativ sökväg – frågesökvägen som används för att hämta metadataobjektet i förhållande till metadatablocket.
- Name – Namnet på metadataobjektet.
- Type – Typen av metadataobjekt som hämtats från frågesökvägen. Metadata som hämtas av WIC- returneras i form av PROPVARIANT, som rapporterar datatypen med vartype-uppräkningen.
Not
Tabellerna här anger bara den relativa sökvägen för att komma åt ett metadataobjekt i det specifika metadataformatet. Om du vill hämta den fullständigt kvalificerade metadatafrågan lägger du till den här relativa sökvägen till metadatablockfrågan för det specifika metadataformatet.
Om du till exempel vill komma åt flaggan Orientation i en JPEG-fil använder du följande uttryck:
- /app1/ifd/{ushort=274}
I en TIFF-fil använder du följande uttryck:
- /ifd/{ushort=274}
I det här exemplet bör du tänka på att olika bildformat kan lagra ett visst metadatablock på olika sätt, och därför kan den fullständigt kvalificerade metadatafrågan för att komma åt ett visst metadataobjekt vara ett specifikt bildformat. Se varje formats tabell för att hitta lämplig metadatafråga för åtkomst till ett visst metadatablock.
IFD-metadata
En IFD, eller Image File Directory, är en datastruktur som definierats i TIFF-standarden som kan innehålla bildmetadata. Den identifierar varje metadataobjekt med hjälp av en tagg av typen ushort. JPEG, TIFF och JPEG-XR stöder IFD-metadata. Format från tredje part, till exempel vissa raw-format för kameran, kan också ha stöd för IFD-metadata.
Tabellen här innehåller relativa metadatafrågesökvägar för att få åtkomst till några vanliga IFD-metadataobjekt. IFD-datastrukturen möjliggör utökningsbarhet från tredje part och den här tabellen är inte en fullständig lista. Mer information finns i TIFF-standarden.
Not
JPEG och andra format stöder IFD-datastrukturen, men de kanske inte använder alla metadataobjekt som definieras. Mer information finns i varje formats standard.
Not
Vissa metadataobjekt i tabellen här kräver ytterligare tolkning eller information för korrekt användning, se TIFF-standarden. Till exempel returnerar PhotometricInterpretation metadataobjekt en PROPVARIANT av typen VT_UI2. Enligt TIFF-standarden tolkas den dock som en uppräkning. Mer information finns i TIFF-standarden.
Relativ sökväg | Namn | Typ |
---|---|---|
/{ushort=256} | ImageWidth | VT_UI2 eller VT_UI4 |
/{ushort=257} | ImageLength | VT_UI2 eller VT_UI4 |
/{ushort=258} | BitsPerSample | VT_UI2 |
/{ushort=259} | Komprimering | VT_UI2 |
/{ushort=262} | PhotometricInterpretation | VT_UI2 |
/{ushort=274} | Orientering | 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} | Göra | VT_LPSTR |
/{ushort=272} | Modell | VT_LPSTR |
/{ushort=305} | Mjukvara | VT_LPSTR |
/{ushort=315} | Konstnär | VT_LPSTR |
/{ushort=33432} | Upphovsrätt | VT_LPSTR |
/{ushort=338} | ExtraExempel | VT_UI2 |
/{ushort=254} | NewSubfileType | VT_UI4 |
/{ushort=278} | RowsPerStrip | VT_UI2 eller VT_UI4 |
/{ushort=279} | StripByteCounts | VT_VECTOR | VT_UI2 eller VT_VECTOR | VT_UI4 |
/{ushort=273} | StripOffsets | VT_VECTOR | VT_UI2 eller VT_VECTOR | VT_UI4 |
EXIF-metadata
EXIF-metadata definieras som en del av EXIF JPEG-specifikationen. EXIF-metadata baseras på IFD-datastrukturen enligt definitionen i TIFF-standarden och innehåller ytterligare attribut, till exempel information om de enheter och fotografiska attribut som används för att skapa avbildningen. Den identifierar varje metadataobjekt med hjälp av en tagg av typen ushort. JPEG, TIFF och JPEG-XR stöder EXIF-metadata. Format från tredje part, till exempel vissa raw-format för kameran, kan också ha stöd för EXIF-metadata.
Följande tabell innehåller relativa metadatafrågesökvägar för att få åtkomst till några vanliga EXIF-metadataobjekt. EXIF-datastrukturen möjliggör utökningsbarhet från tredje part och den här tabellen är inte en fullständig lista. Se EXIF-standarden för mer information.
Not
Många EXIF-metadataobjekt definieras i EXIF-standarden som typen "RATIONAL" eller "SRATIONAL". En "RATIONAL" består av en täljare och nämnare, som båda är 32 bitars osignerade heltal. Täljaren finns i de höga 32 bitarna och nämnaren i de låga 32 bitarna. I WIC-returneras dessa som PROPVARIANT med en typ av VT_UI8 respektive VT_I8. det faktiska värdet lagras som ULARGE_INTEGER respektive LARGE_INTEGER. Om du vill komma åt täljaren och nämnaren läser du highpart- och lowpart-medlemmarna i värdet ULARGE_INTEGER eller LARGE_INTEGER.
Not
Vissa metadataobjekt i tabellen nedan kräver ytterligare tolkning eller information för korrekt användning. Till exempel returnerar ColorSpace- metadataobjekt en PROPVARIANT av typen VT_UI2. Enligt EXIF-standarden tolkas den dock som en uppräkning. Mer information finns i EXIF-standarden.
Relativ sökväg | Namn | Typ |
---|---|---|
/{ushort=36864} | ExifVersion | VT_BLOB |
/{ushort=40960} | FlashpixVersion | VT_BLOB |
/{ushort=40961} | ColorSpace | VT_UI2 |
/{ushort=40962} | PixelXDimension | VT_UI2 eller VT_UI4 |
/{ushort=40963} | PixelYDimension | VT_UI2 eller 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} | Exponeringsprogram | VT_UI2 |
/{ushort=34852} | SpectralSensitivity | VT_LPSTR |
/{ushort=34855} | PhotographicSensitivity | VT_VECTOR | VT_UI2 |
/{ushort=34856} | OECF | VT_BLOB |
/{ushort=34864} | SensitivityType | VT_UI2 |
/{ushort=34865} | StandardOutputSensitivity | VT_UI4 |
/{ushort=34866} | RecommendedExposureIndex | 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} | Blixt | 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} | Scentyp | 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} | Kontrast | VT_UI2 |
/{ushort=41993} | Mättnad | VT_UI2 |
/{ushort=41994} | Skärpa | VT_UI2 |
/{ushort=41995} | DeviceSettingDescription | VT_BLOB |
/{ushort=41996} | SubjectDistanceRange | VT_UI2 |
GPS-metadata
GPS-metadata innehåller geoplatsinformation och definieras som en del av EXIF JPEG-specifikationen. Den identifierar varje metadataobjekt med hjälp av en tagg av typen ushort. JPEG, TIFF och JPEG-XR stöder GPS-metadata; Format från tredje part, till exempel vissa raw-format för kameran, kan också ha stöd för GPS-metadata.
I följande tabell finns relativa metadatafrågesökvägar för åtkomst till vissa vanliga GPS-metadataobjekt. Den här tabellen är inte en fullständig lista. Se EXIF-standarden för mer information.
Not
Många GPS-metadataobjekt definieras i EXIF-standarden som typen "RATIONAL". En "RATIONAL" består av en täljare och nämnare, som båda är 32 bitars osignerade heltal. Täljaren finns i de höga 32 bitarna och nämnaren i de låga 32 bitarna. I WIC-returneras dessa som PROPVARIANT med en typ av VT_UI8. Det faktiska värdet lagras som ULARGE_INTEGER. Om du vill komma åt täljaren och nämnaren läser du medlemmarna HighPart och LowPart i värdet ULARGE_INTEGER.
Not
Vissa metadataobjekt i tabellen här kräver ytterligare tolkning eller information för korrekt användning. Metadataobjektet GPSLatitudeRef returnerar till exempel en PROPVARIANT av typen VT_LPSTR. Enligt EXIF-standarden är den här strängen antingen "N" eller "S", som representerar latitud nord eller syd. Mer information finns i EXIF-standarden.
Relativ sökväg | Namn | Typ |
---|---|---|
{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-metadata
XMP är en XML-baserad utökningsbar metadatastandard. Metadataobjekt kan vara hierarkiska och innehålla komplexa datastrukturer. JPEG, TIFF och JPEG-XR stöder XMP-metadata. Format från tredje part, till exempel vissa raw-format för kameran, kan också ha stöd för XMP-metadata.
XMP-standarden kan hämtas från: https://www.adobe.com/devnet/xmp.html.
XMP och tillåter tredjepartsentiteter att publicera sina egna scheman eller namnområden, vilket gör att de kan definiera nya metadataobjekt utan att behöva ändra XMP-standarden. Ett XMP-schema identifieras unikt av en URL, men WIC- tillhandahåller en uppsättning egna identifierare för välkända scheman.
XMP-metadataobjekt identifieras med ett strängnamn samt en schemaidentifierare. Som bästa praxis bör varje XMP-metadatafråga ange både schemat och namnet. Om schemaidentifieraren saknas försöker JPEG matcha metadatanamnet i alla namnområden som finns i XMP-metadatapaketet.
Om du till exempel vill hämta egenskapen Rating enligt XMP-schemat i en JPEG-bild använder du följande fråga:
- /xmp/{wstr=https://ns.adobe.com/xap/1.0/}:Rating
Den första delen, "/xmp", hämtar XMP-metadataläsaren/-skrivaren för bilden. "https://ns.adobe.com/xap/1.0/" är URL:en för XMP-schemat enligt definitionen i XMP-standarden. URL:en omges av ett datauttryck för att tillåta användning av tecken, till exempel ett snedstreck (/). Slutligen är "Rating" det faktiska metadataobjektnamnet enligt definitionen i XMP-schemat och det avgränsas från schemaidentifieraren med ett kolon (:).
I det här exemplet tillhandahåller WIC en användarvänlig identifierare för XMP-schemat som kan användas i stället för den fullständiga URL:en. Därför kan den föregående frågan skrivas om som:
- /xmp/xmp:Rating
WIC- tillhandahåller egna schemaprefix för följande vanliga scheman:
Om det inte finns något eget schemaprefix för ett visst schema, till exempel om en bild innehåller XMP-metadata med ett anpassat schema från tredje part, bör metadatafrågan använda den fullständiga schema-URL:en.
Relaterade ämnen
-
konceptuell
-
översikt över WIC-metadata