GdiPlusImaging.h
资源名称:GDIUSE.rar [点击查看]
上传用户:jinlangri
上传日期:2022-07-17
资源大小:10774k
文件大小:24k
源码类别:
GDI/图象编程
开发平台:
Visual C++
- /**************************************************************************
- *
- * Copyright (c) 1999-2000 Microsoft Corporation
- *
- * Module Name:
- *
- * GdiplusImaging.h
- *
- * Abstract:
- *
- * GUIDs defined and used by the imaging library
- *
- **************************************************************************/
- #ifndef _GDIPLUSIMAGING_H
- #define _GDIPLUSIMAGING_H
- //---------------------------------------------------------------------------
- // Image file format identifiers
- //---------------------------------------------------------------------------
- DEFINE_GUID(ImageFormatUndefined, 0xb96b3ca9,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- DEFINE_GUID(ImageFormatMemoryBMP, 0xb96b3caa,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- DEFINE_GUID(ImageFormatBMP, 0xb96b3cab,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- DEFINE_GUID(ImageFormatEMF, 0xb96b3cac,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- DEFINE_GUID(ImageFormatWMF, 0xb96b3cad,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- DEFINE_GUID(ImageFormatJPEG, 0xb96b3cae,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- DEFINE_GUID(ImageFormatPNG, 0xb96b3caf,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- DEFINE_GUID(ImageFormatGIF, 0xb96b3cb0,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- DEFINE_GUID(ImageFormatTIFF, 0xb96b3cb1,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- DEFINE_GUID(ImageFormatEXIF, 0xb96b3cb2,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- #ifndef DCR_USE_NEW_140855
- DEFINE_GUID(ImageFormatPhotoCD, 0xb96b3cb3,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- DEFINE_GUID(ImageFormatFlashPIX, 0xb96b3cb4,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- #endif
- DEFINE_GUID(ImageFormatIcon, 0xb96b3cb5,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
- //---------------------------------------------------------------------------
- // Predefined multi-frame dimension IDs
- //---------------------------------------------------------------------------
- DEFINE_GUID(FrameDimensionTime, 0x6aedbd6d,0x3fb5,0x418a,0x83,0xa6,0x7f,0x45,0x22,0x9d,0xc8,0x72);
- DEFINE_GUID(FrameDimensionResolution, 0x84236f7b,0x3bd3,0x428f,0x8d,0xab,0x4e,0xa1,0x43,0x9c,0xa3,0x15);
- DEFINE_GUID(FrameDimensionPage, 0x7462dc86,0x6180,0x4c7e,0x8e,0x3f,0xee,0x73,0x33,0xa7,0xa4,0x83);
- //---------------------------------------------------------------------------
- // Property sets
- //---------------------------------------------------------------------------
- DEFINE_GUID(FormatIDImageInformation, 0xe5836cbe,0x5eef,0x4f1d,0xac,0xde,0xae,0x4c,0x43,0xb6,0x08,0xce);
- DEFINE_GUID(FormatIDJpegAppHeaders, 0x1c4afdcd,0x6177,0x43cf,0xab,0xc7,0x5f,0x51,0xaf,0x39,0xee,0x85);
- #ifndef DCR_USE_NEW_140855
- //---------------------------------------------------------------------------
- // Decoder parameter sets
- //---------------------------------------------------------------------------
- DEFINE_GUID(DecoderTransColor, 0xb7a98c8f,0xdce7,0x457d,0xbf,0xa5,0xce,0xa7,0x1b,0xd1,0x4d,0xd6);
- DEFINE_GUID(DecoderTransRange, 0xabeed189,0xd988,0x4d03,0xb4,0x25,0x57,0x10,0x55,0xc7,0x6a,0xd1);
- DEFINE_GUID(DecoderOutputChannel, 0x2ff8f51e,0x724d,0x45fe,0x86,0xce,0x17,0x77,0xa0,0x56,0xda,0x60);
- DEFINE_GUID(DecoderIconRes, 0x5c656eec,0xe94f,0x45ba,0xa6,0xf6,0x10,0x62,0xe8,0x5f,0x4a,0x7f);
- #endif
- //---------------------------------------------------------------------------
- // Encoder parameter sets
- //---------------------------------------------------------------------------
- DEFINE_GUID(EncoderCompression, 0xe09d739d,0xccd4,0x44ee,0x8e,0xba,0x3f,0xbf,0x8b,0xe4,0xfc,0x58);
- DEFINE_GUID(EncoderColorDepth, 0x66087055,0xad66,0x4c7c,0x9a,0x18,0x38,0xa2,0x31,0x0b,0x83,0x37);
- DEFINE_GUID(EncoderScanMethod, 0x3a4e2661,0x3109,0x4e56,0x85,0x36,0x42,0xc1,0x56,0xe7,0xdc,0xfa);
- DEFINE_GUID(EncoderVersion, 0x24d18c76,0x814a,0x41a4,0xbf,0x53,0x1c,0x21,0x9c,0xcc,0xf7,0x97);
- DEFINE_GUID(EncoderRenderMethod, 0x6d42c53a,0x229a,0x4825,0x8b,0xb7,0x5c,0x99,0xe2,0xb9,0xa8,0xb8);
- DEFINE_GUID(EncoderQuality, 0x1d5be4b5,0xfa4a,0x452d,0x9c,0xdd,0x5d,0xb3,0x51,0x05,0xe7,0xeb);
- DEFINE_GUID(EncoderTransformation,0x8d0eb2d1,0xa58e,0x4ea8,0xaa,0x14,0x10,0x80,0x74,0xb7,0xb6,0xf9);
- DEFINE_GUID(EncoderLuminanceTable,0xedb33bce,0x0266,0x4a77,0xb9,0x04,0x27,0x21,0x60,0x99,0xe7,0x17);
- DEFINE_GUID(EncoderChrominanceTable,0xf2e455dc,0x09b3,0x4316,0x82,0x60,0x67,0x6a,0xda,0x32,0x48,0x1c);
- DEFINE_GUID(EncoderSaveFlag,0x292266fc,0xac40,0x47bf,0x8c, 0xfc, 0xa8, 0x5b, 0x89, 0xa6, 0x55, 0xde);
- DEFINE_GUID(CodecIImageBytes,0x025d1823,0x6c7d,0x447b,0xbb, 0xdb, 0xa3, 0xcb, 0xc3, 0xdf, 0xa2, 0xfc);
- MIDL_INTERFACE("025D1823-6C7D-447B-BBDB-A3CBC3DFA2FC")
- IImageBytes : public IUnknown
- {
- public:
- // Return total number of bytes in the IStream
- STDMETHOD(CountBytes)(
- OUT UINT *pcb
- ) = 0;
- // Locks "cb" bytes, starting from "ulOffset" in the stream, and returns the
- // pointer to the beginning of the locked memory chunk in "ppvBytes"
- STDMETHOD(LockBytes)(
- IN UINT cb,
- IN ULONG ulOffset,
- OUT const VOID ** ppvBytes
- ) = 0;
- // Unlocks "cb" bytes, pointed by "pvBytes", starting from "ulOffset" in the
- // stream
- STDMETHOD(UnlockBytes)(
- IN const VOID *pvBytes,
- IN UINT cb,
- IN ULONG ulOffset
- ) = 0;
- };
- //--------------------------------------------------------------------------
- // ImageCodecInfo structure
- //--------------------------------------------------------------------------
- class ImageCodecInfo
- {
- public:
- CLSID Clsid;
- GUID FormatID;
- const WCHAR* CodecName;
- const WCHAR* DllName;
- const WCHAR* FormatDescription;
- const WCHAR* FilenameExtension;
- const WCHAR* MimeType;
- DWORD Flags;
- DWORD Version;
- DWORD SigCount;
- DWORD SigSize;
- const BYTE* SigPattern;
- const BYTE* SigMask;
- };
- //--------------------------------------------------------------------------
- // Information flags about image codecs
- //--------------------------------------------------------------------------
- enum ImageCodecFlags
- {
- ImageCodecFlagsEncoder = 0x00000001,
- ImageCodecFlagsDecoder = 0x00000002,
- ImageCodecFlagsSupportBitmap = 0x00000004,
- ImageCodecFlagsSupportVector = 0x00000008,
- ImageCodecFlagsSeekableEncode = 0x00000010,
- ImageCodecFlagsBlockingDecode = 0x00000020,
- ImageCodecFlagsBuiltin = 0x00010000,
- ImageCodecFlagsSystem = 0x00020000,
- ImageCodecFlagsUser = 0x00040000
- };
- //---------------------------------------------------------------------------
- // Access modes used when calling Image::LockBits
- //---------------------------------------------------------------------------
- enum ImageLockMode
- {
- ImageLockModeRead = 0x0001,
- ImageLockModeWrite = 0x0002,
- ImageLockModeUserInputBuf= 0x0004
- };
- //---------------------------------------------------------------------------
- // Information about image pixel data
- //---------------------------------------------------------------------------
- class BitmapData
- {
- public:
- UINT Width;
- UINT Height;
- INT Stride;
- PixelFormat PixelFormat;
- VOID* Scan0;
- UINT_PTR Reserved;
- };
- //---------------------------------------------------------------------------
- // Image flags
- //---------------------------------------------------------------------------
- enum ImageFlags
- {
- ImageFlagsNone = 0,
- // Low-word: shared with SINKFLAG_x
- ImageFlagsScalable = 0x0001,
- ImageFlagsHasAlpha = 0x0002,
- ImageFlagsHasTranslucent = 0x0004,
- ImageFlagsPartiallyScalable = 0x0008,
- // Low-word: color space definition
- ImageFlagsColorSpaceRGB = 0x0010,
- ImageFlagsColorSpaceCMYK = 0x0020,
- ImageFlagsColorSpaceGRAY = 0x0040,
- ImageFlagsColorSpaceYCBCR = 0x0080,
- ImageFlagsColorSpaceYCCK = 0x0100,
- // Low-word: image size info
- ImageFlagsHasRealDPI = 0x1000,
- ImageFlagsHasRealPixelSize = 0x2000,
- // High-word
- ImageFlagsReadOnly = 0x00010000,
- ImageFlagsCaching = 0x00020000
- };
- enum RotateFlipType
- {
- RotateNoneFlipNone = 0,
- Rotate90FlipNone = 1,
- Rotate180FlipNone = 2,
- Rotate270FlipNone = 3,
- RotateNoneFlipX = 4,
- Rotate90FlipX = 5,
- Rotate180FlipX = 6,
- Rotate270FlipX = 7,
- RotateNoneFlipY = Rotate180FlipX,
- Rotate90FlipY = Rotate270FlipX,
- Rotate180FlipY = RotateNoneFlipX,
- Rotate270FlipY = Rotate90FlipX,
- RotateNoneFlipXY = Rotate180FlipNone,
- Rotate90FlipXY = Rotate270FlipNone,
- Rotate180FlipXY = RotateNoneFlipNone,
- Rotate270FlipXY = Rotate90FlipNone
- };
- //---------------------------------------------------------------------------
- // Encoder Parameter structure
- //---------------------------------------------------------------------------
- class EncoderParameter
- {
- public:
- GUID Guid; // GUID of the parameter
- ULONG NumberOfValues; // Number of the parameter values
- ULONG Type; // Value type, like ValueTypeLONG etc.
- VOID* Value; // A pointer to the parameter values
- };
- //---------------------------------------------------------------------------
- // Encoder Parameters structure
- //---------------------------------------------------------------------------
- class EncoderParameters
- {
- public:
- UINT Count; // Number of parameters in this structure
- EncoderParameter Parameter[1]; // Parameter values
- };
- //---------------------------------------------------------------------------
- // Property Item
- //---------------------------------------------------------------------------
- class PropertyItem
- {
- public:
- PROPID id; // ID of this property
- ULONG length; // Length of the property value, in bytes
- WORD type; // Type of the value, as one of TAG_TYPE_XXX
- // defined above
- VOID* value; // property value
- };
- #ifdef DCR_USE_NEW_140857
- //---------------------------------------------------------------------------
- // Image property types
- //---------------------------------------------------------------------------
- #define PropertyTagTypeByte 1
- #define PropertyTagTypeASCII 2
- #define PropertyTagTypeShort 3
- #define PropertyTagTypeLong 4
- #define PropertyTagTypeRational 5
- #define PropertyTagTypeUndefined 7
- #define PropertyTagTypeSLONG 9
- #define PropertyTagTypeSRational 10
- #endif
- //---------------------------------------------------------------------------
- // Image property ID tags
- //---------------------------------------------------------------------------
- #define PropertyTagExifIFD 0x8769
- #define PropertyTagGpsIFD 0x8825
- #define PropertyTagNewSubfileType 0x00FE
- #define PropertyTagSubfileType 0x00FF
- #define PropertyTagImageWidth 0x0100
- #define PropertyTagImageHeight 0x0101
- #define PropertyTagBitsPerSample 0x0102
- #define PropertyTagCompression 0x0103
- #define PropertyTagPhotometricInterp 0x0106
- #define PropertyTagThreshHolding 0x0107
- #define PropertyTagCellWidth 0x0108
- #define PropertyTagCellHeight 0x0109
- #define PropertyTagFillOrder 0x010A
- #define PropertyTagDocumentName 0x010D
- #define PropertyTagImageDescription 0x010E
- #define PropertyTagEquipMake 0x010F
- #define PropertyTagEquipModel 0x0110
- #define PropertyTagStripOffsets 0x0111
- #define PropertyTagOrientation 0x0112
- #define PropertyTagSamplesPerPixel 0x0115
- #define PropertyTagRowsPerStrip 0x0116
- #define PropertyTagStripBytesCount 0x0117
- #define PropertyTagMinSampleValue 0x0118
- #define PropertyTagMaxSampleValue 0x0119
- #define PropertyTagXResolution 0x011A // Image resolution in width direction
- #define PropertyTagYResolution 0x011B // Image resolution in height direction
- #define PropertyTagPlanarConfig 0x011C // Image data arrangement
- #define PropertyTagPageName 0x011D
- #define PropertyTagXPosition 0x011E
- #define PropertyTagYPosition 0x011F
- #define PropertyTagFreeOffset 0x0120
- #define PropertyTagFreeByteCounts 0x0121
- #define PropertyTagGrayResponseUnit 0x0122
- #define PropertyTagGrayResponseCurve 0x0123
- #define PropertyTagT4Option 0x0124
- #define PropertyTagT6Option 0x0125
- #define PropertyTagResolutionUnit 0x0128 // Unit of X and Y resolution
- #define PropertyTagPageNumber 0x0129
- #define PropertyTagTransferFuncition 0x012D
- #define PropertyTagSoftwareUsed 0x0131
- #define PropertyTagDateTime 0x0132
- #define PropertyTagArtist 0x013B
- #define PropertyTagHostComputer 0x013C
- #define PropertyTagPredictor 0x013D
- #define PropertyTagWhitePoint 0x013E
- #define PropertyTagPrimaryChromaticities 0x013F
- #define PropertyTagColorMap 0x0140
- #define PropertyTagHalftoneHints 0x0141
- #define PropertyTagTileWidth 0x0142
- #define PropertyTagTileLength 0x0143
- #define PropertyTagTileOffset 0x0144
- #define PropertyTagTileByteCounts 0x0145
- #define PropertyTagInkSet 0x014C
- #define PropertyTagInkNames 0x014D
- #define PropertyTagNumberOfInks 0x014E
- #define PropertyTagDotRange 0x0150
- #define PropertyTagTargetPrinter 0x0151
- #define PropertyTagExtraSamples 0x0152
- #define PropertyTagSampleFormat 0x0153
- #define PropertyTagSMinSampleValue 0x0154
- #define PropertyTagSMaxSampleValue 0x0155
- #define PropertyTagTransferRange 0x0156
- #define PropertyTagJPEGProc 0x0200
- #define PropertyTagJPEGInterFormat 0x0201
- #define PropertyTagJPEGInterLength 0x0202
- #define PropertyTagJPEGRestartInterval 0x0203
- #define PropertyTagJPEGLosslessPredictors 0x0205
- #define PropertyTagJPEGPointTransforms 0x0206
- #define PropertyTagJPEGQTables 0x0207
- #define PropertyTagJPEGDCTables 0x0208
- #define PropertyTagJPEGACTables 0x0209
- #define PropertyTagYCbCrCoefficients 0x0211
- #define PropertyTagYCbCrSubsampling 0x0212
- #define PropertyTagYCbCrPositioning 0x0213
- #define PropertyTagREFBlackWhite 0x0214
- #define PropertyTagICCProfile 0x8773 // This TAG is defined by ICC
- // for embedded ICC in TIFF
- #define PropertyTagGamma 0x0301
- #define PropertyTagICCProfileDescriptor 0x0302
- #define PropertyTagSRGBRenderingIntent 0x0303
- #define PropertyTagImageTitle 0x0320
- #define PropertyTagCopyright 0x8298
- // Extra TAGs (Like Adobe Image Information tags etc.)
- #define PropertyTagResolutionXUnit 0x5001
- #define PropertyTagResolutionYUnit 0x5002
- #define PropertyTagResolutionXLengthUnit 0x5003
- #define PropertyTagResolutionYLengthUnit 0x5004
- #define PropertyTagPrintFlags 0x5005
- #define PropertyTagPrintFlagsVersion 0x5006
- #define PropertyTagPrintFlagsCrop 0x5007
- #define PropertyTagPrintFlagsBleedWidth 0x5008
- #define PropertyTagPrintFlagsBleedWidthScale 0x5009
- #define PropertyTagHalftoneLPI 0x500A
- #define PropertyTagHalftoneLPIUnit 0x500B
- #define PropertyTagHalftoneDegree 0x500C
- #define PropertyTagHalftoneShape 0x500D
- #define PropertyTagHalftoneMisc 0x500E
- #define PropertyTagHalftoneScreen 0x500F
- #define PropertyTagJPEGQuality 0x5010
- #define PropertyTagGridSize 0x5011
- #define PropertyTagThumbnailFormat 0x5012 // 1 = JPEG, 0 = RAW RGB
- #define PropertyTagThumbnailWidth 0x5013
- #define PropertyTagThumbnailHeight 0x5014
- #define PropertyTagThumbnailColorDepth 0x5015
- #define PropertyTagThumbnailPlanes 0x5016
- #define PropertyTagThumbnailRawBytes 0x5017
- #define PropertyTagThumbnailSize 0x5018
- #define PropertyTagThumbnailCompressedSize 0x5019
- #define PropertyTagColorTransferFunction 0x501A
- #define PropertyTagThumbnailData 0x501B// RAW thumbnail bits in
- // JPEG format or RGB format
- // depends on
- // PropertyTagThumbnailFormat
- // Thumbnail related TAGs
- #define PropertyTagThumbnailImageWidth 0x5020 // Thumbnail width
- #define PropertyTagThumbnailImageHeight 0x5021 // Thumbnail height
- #define PropertyTagThumbnailBitsPerSample 0x5022 // Number of bits per
- // component
- #define PropertyTagThumbnailCompression 0x5023 // Compression Scheme
- #define PropertyTagThumbnailPhotometricInterp 0x5024 // Pixel composition
- #define PropertyTagThumbnailImageDescription 0x5025 // Image Tile
- #define PropertyTagThumbnailEquipMake 0x5026 // Manufacturer of Image
- // Input equipment
- #define PropertyTagThumbnailEquipModel 0x5027 // Model of Image input
- // equipment
- #define PropertyTagThumbnailStripOffsets 0x5028 // Image data location
- #define PropertyTagThumbnailOrientation 0x5029 // Orientation of image
- #define PropertyTagThumbnailSamplesPerPixel 0x502A // Number of components
- #define PropertyTagThumbnailRowsPerStrip 0x502B // Number of rows per strip
- #define PropertyTagThumbnailStripBytesCount 0x502C // Bytes per compressed
- // strip
- #define PropertyTagThumbnailResolutionX 0x502D // Resolution in width
- // direction
- #define PropertyTagThumbnailResolutionY 0x502E // Resolution in height
- // direction
- #define PropertyTagThumbnailPlanarConfig 0x502F // Image data arrangement
- #define PropertyTagThumbnailResolutionUnit 0x5030 // Unit of X and Y
- // Resolution
- #define PropertyTagThumbnailTransferFunction 0x5031 // Transfer function
- #define PropertyTagThumbnailSoftwareUsed 0x5032 // Software used
- #define PropertyTagThumbnailDateTime 0x5033 // File change date and
- // time
- #define PropertyTagThumbnailArtist 0x5034 // Person who created the
- // image
- #define PropertyTagThumbnailWhitePoint 0x5035 // White point chromaticity
- #define PropertyTagThumbnailPrimaryChromaticities 0x5036
- // Chromaticities of
- // primaries
- #define PropertyTagThumbnailYCbCrCoefficients 0x5037 // Color space transforma-
- // tion coefficients
- #define PropertyTagThumbnailYCbCrSubsampling 0x5038 // Subsampling ratio of Y
- // to C
- #define PropertyTagThumbnailYCbCrPositioning 0x5039 // Y and C position
- #define PropertyTagThumbnailRefBlackWhite 0x503A // Pair of black and white
- // reference values
- #define PropertyTagThumbnailCopyRight 0x503B // CopyRight holder
- #define PropertyTagLuminanceTable 0x5090
- #define PropertyTagChrominanceTable 0x5091
- #define PropertyTagFrameDelay 0x5100
- #define PropertyTagLoopCount 0x5101
- #define PropertyTagPixelUnit 0x5110 // Unit specifier for pixel/unit
- #define PropertyTagPixelPerUnitX 0x5111 // Pixels per unit in X
- #define PropertyTagPixelPerUnitY 0x5112 // Pixels per unit in Y
- #define PropertyTagPaletteHistogram 0x5113 // Palette histogram
- // EXIF specific tag
- #define PropertyTagExifExposureTime 0x829A
- #define PropertyTagExifFNumber 0x829D
- #define PropertyTagExifExposureProg 0x8822
- #define PropertyTagExifSpectralSense 0x8824
- #define PropertyTagExifISOSpeed 0x8827
- #define PropertyTagExifOECF 0x8828
- #define PropertyTagExifVer 0x9000
- #define PropertyTagExifDTOrig 0x9003 // Date & time of original
- #define PropertyTagExifDTDigitized 0x9004 // Date & time of digital data generation
- #define PropertyTagExifCompConfig 0x9101
- #define PropertyTagExifCompBPP 0x9102
- #define PropertyTagExifShutterSpeed 0x9201
- #define PropertyTagExifAperture 0x9202
- #define PropertyTagExifBrightness 0x9203
- #define PropertyTagExifExposureBias 0x9204
- #define PropertyTagExifMaxAperture 0x9205
- #define PropertyTagExifSubjectDist 0x9206
- #define PropertyTagExifMeteringMode 0x9207
- #define PropertyTagExifLightSource 0x9208
- #define PropertyTagExifFlash 0x9209
- #define PropertyTagExifFocalLength 0x920A
- #define PropertyTagExifMakerNote 0x927C
- #define PropertyTagExifUserComment 0x9286
- #define PropertyTagExifDTSubsec 0x9290 // Date & Time subseconds
- #define PropertyTagExifDTOrigSS 0x9291 // Date & Time original subseconds
- #define PropertyTagExifDTDigSS 0x9292 // Date & TIme digitized subseconds
- #define PropertyTagExifFPXVer 0xA000
- #define PropertyTagExifColorSpace 0xA001
- #define PropertyTagExifPixXDim 0xA002
- #define PropertyTagExifPixYDim 0xA003
- #define PropertyTagExifRelatedWav 0xA004 // related sound file
- #define PropertyTagExifInterop 0xA005
- #define PropertyTagExifFlashEnergy 0xA20B
- #define PropertyTagExifSpatialFR 0xA20C // Spatial Frequency Response
- #define PropertyTagExifFocalXRes 0xA20E // Focal Plane X Resolution
- #define PropertyTagExifFocalYRes 0xA20F // Focal Plane Y Resolution
- #define PropertyTagExifFocalResUnit 0xA210 // Focal Plane Resolution Unit
- #define PropertyTagExifSubjectLoc 0xA214
- #define PropertyTagExifExposureIndex 0xA215
- #define PropertyTagExifSensingMethod 0xA217
- #define PropertyTagExifFileSource 0xA300
- #define PropertyTagExifSceneType 0xA301
- #define PropertyTagExifCfaPattern 0xA302
- #define PropertyTagGpsVer 0x0000
- #define PropertyTagGpsLatitudeRef 0x0001
- #define PropertyTagGpsLatitude 0x0002
- #define PropertyTagGpsLongitudeRef 0x0003
- #define PropertyTagGpsLongitude 0x0004
- #define PropertyTagGpsAltitudeRef 0x0005
- #define PropertyTagGpsAltitude 0x0006
- #define PropertyTagGpsGpsTime 0x0007
- #define PropertyTagGpsGpsSatellites 0x0008
- #define PropertyTagGpsGpsStatus 0x0009
- #define PropertyTagGpsGpsMeasureMode 0x00A
- #define PropertyTagGpsGpsDop 0x000B // Measurement precision
- #define PropertyTagGpsSpeedRef 0x000C
- #define PropertyTagGpsSpeed 0x000D
- #define PropertyTagGpsTrackRef 0x000E
- #define PropertyTagGpsTrack 0x000F
- #define PropertyTagGpsImgDirRef 0x0010
- #define PropertyTagGpsImgDir 0x0011
- #define PropertyTagGpsMapDatum 0x0012
- #define PropertyTagGpsDestLatRef 0x0013
- #define PropertyTagGpsDestLat 0x0014
- #define PropertyTagGpsDestLongRef 0x0015
- #define PropertyTagGpsDestLong 0x0016
- #define PropertyTagGpsDestBearRef 0x0017
- #define PropertyTagGpsDestBear 0x0018
- #define PropertyTagGpsDestDistRef 0x0019
- #define PropertyTagGpsDestDist 0x001A
- #endif