123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540 |
- #ifndef _GDIPLUSIMAGING_H
- #define _GDIPLUSIMAGING_H
- 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);
- 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);
- 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
- 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
- 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:
-
- STDMETHOD(CountBytes)(
- OUT UINT *pcb
- ) = 0;
-
-
-
- STDMETHOD(LockBytes)(
- IN UINT cb,
- IN ULONG ulOffset,
- OUT const VOID ** ppvBytes
- ) = 0;
-
-
- STDMETHOD(UnlockBytes)(
- IN const VOID *pvBytes,
- IN UINT cb,
- IN ULONG ulOffset
- ) = 0;
- };
- 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;
- };
- enum ImageCodecFlags
- {
- ImageCodecFlagsEncoder = 0x00000001,
- ImageCodecFlagsDecoder = 0x00000002,
- ImageCodecFlagsSupportBitmap = 0x00000004,
- ImageCodecFlagsSupportVector = 0x00000008,
- ImageCodecFlagsSeekableEncode = 0x00000010,
- ImageCodecFlagsBlockingDecode = 0x00000020,
- ImageCodecFlagsBuiltin = 0x00010000,
- ImageCodecFlagsSystem = 0x00020000,
- ImageCodecFlagsUser = 0x00040000
- };
- enum ImageLockMode
- {
- ImageLockModeRead = 0x0001,
- ImageLockModeWrite = 0x0002,
- ImageLockModeUserInputBuf= 0x0004
- };
- class BitmapData
- {
- public:
- UINT Width;
- UINT Height;
- INT Stride;
- PixelFormat PixelFormat;
- VOID* Scan0;
- UINT_PTR Reserved;
- };
- enum ImageFlags
- {
- ImageFlagsNone = 0,
-
- ImageFlagsScalable = 0x0001,
- ImageFlagsHasAlpha = 0x0002,
- ImageFlagsHasTranslucent = 0x0004,
- ImageFlagsPartiallyScalable = 0x0008,
-
- ImageFlagsColorSpaceRGB = 0x0010,
- ImageFlagsColorSpaceCMYK = 0x0020,
- ImageFlagsColorSpaceGRAY = 0x0040,
- ImageFlagsColorSpaceYCBCR = 0x0080,
- ImageFlagsColorSpaceYCCK = 0x0100,
-
-
- ImageFlagsHasRealDPI = 0x1000,
- ImageFlagsHasRealPixelSize = 0x2000,
-
- 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
- };
- class EncoderParameter
- {
- public:
- GUID Guid;
- ULONG NumberOfValues;
- ULONG Type;
- VOID* Value;
- };
- class EncoderParameters
- {
- public:
- UINT Count;
- EncoderParameter Parameter[1];
- };
- class PropertyItem
- {
- public:
- PROPID id;
- ULONG length;
- WORD type;
-
- VOID* value;
- };
- #ifdef DCR_USE_NEW_140857
- #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
- #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
- #define PropertyTagYResolution 0x011B
- #define PropertyTagPlanarConfig 0x011C
- #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
- #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
-
- #define PropertyTagGamma 0x0301
- #define PropertyTagICCProfileDescriptor 0x0302
- #define PropertyTagSRGBRenderingIntent 0x0303
- #define PropertyTagImageTitle 0x0320
- #define PropertyTagCopyright 0x8298
- #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
- #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
-
-
-
-
- #define PropertyTagThumbnailImageWidth 0x5020
- #define PropertyTagThumbnailImageHeight 0x5021
- #define PropertyTagThumbnailBitsPerSample 0x5022
-
- #define PropertyTagThumbnailCompression 0x5023
- #define PropertyTagThumbnailPhotometricInterp 0x5024
- #define PropertyTagThumbnailImageDescription 0x5025
- #define PropertyTagThumbnailEquipMake 0x5026
-
- #define PropertyTagThumbnailEquipModel 0x5027
-
- #define PropertyTagThumbnailStripOffsets 0x5028
- #define PropertyTagThumbnailOrientation 0x5029
- #define PropertyTagThumbnailSamplesPerPixel 0x502A
- #define PropertyTagThumbnailRowsPerStrip 0x502B
- #define PropertyTagThumbnailStripBytesCount 0x502C
-
- #define PropertyTagThumbnailResolutionX 0x502D
-
- #define PropertyTagThumbnailResolutionY 0x502E
-
- #define PropertyTagThumbnailPlanarConfig 0x502F
- #define PropertyTagThumbnailResolutionUnit 0x5030
-
- #define PropertyTagThumbnailTransferFunction 0x5031
- #define PropertyTagThumbnailSoftwareUsed 0x5032
- #define PropertyTagThumbnailDateTime 0x5033
-
- #define PropertyTagThumbnailArtist 0x5034
-
- #define PropertyTagThumbnailWhitePoint 0x5035
- #define PropertyTagThumbnailPrimaryChromaticities 0x5036
-
-
- #define PropertyTagThumbnailYCbCrCoefficients 0x5037
-
- #define PropertyTagThumbnailYCbCrSubsampling 0x5038
-
- #define PropertyTagThumbnailYCbCrPositioning 0x5039
- #define PropertyTagThumbnailRefBlackWhite 0x503A
-
- #define PropertyTagThumbnailCopyRight 0x503B
- #define PropertyTagLuminanceTable 0x5090
- #define PropertyTagChrominanceTable 0x5091
- #define PropertyTagFrameDelay 0x5100
- #define PropertyTagLoopCount 0x5101
- #define PropertyTagPixelUnit 0x5110
- #define PropertyTagPixelPerUnitX 0x5111
- #define PropertyTagPixelPerUnitY 0x5112
- #define PropertyTagPaletteHistogram 0x5113
- #define PropertyTagExifExposureTime 0x829A
- #define PropertyTagExifFNumber 0x829D
- #define PropertyTagExifExposureProg 0x8822
- #define PropertyTagExifSpectralSense 0x8824
- #define PropertyTagExifISOSpeed 0x8827
- #define PropertyTagExifOECF 0x8828
- #define PropertyTagExifVer 0x9000
- #define PropertyTagExifDTOrig 0x9003
- #define PropertyTagExifDTDigitized 0x9004
- #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
- #define PropertyTagExifDTOrigSS 0x9291
- #define PropertyTagExifDTDigSS 0x9292
- #define PropertyTagExifFPXVer 0xA000
- #define PropertyTagExifColorSpace 0xA001
- #define PropertyTagExifPixXDim 0xA002
- #define PropertyTagExifPixYDim 0xA003
- #define PropertyTagExifRelatedWav 0xA004
- #define PropertyTagExifInterop 0xA005
- #define PropertyTagExifFlashEnergy 0xA20B
- #define PropertyTagExifSpatialFR 0xA20C
- #define PropertyTagExifFocalXRes 0xA20E
- #define PropertyTagExifFocalYRes 0xA20F
- #define PropertyTagExifFocalResUnit 0xA210
- #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
- #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
|