19#ifndef _GDIPLUSIMAGING_H
20#define _GDIPLUSIMAGING_H
22DEFINE_GUID(ImageFormatUndefined, 0xb96b3ca9, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
23DEFINE_GUID(ImageFormatMemoryBMP, 0xb96b3caa, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
24DEFINE_GUID(ImageFormatBMP, 0xb96b3cab, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
25DEFINE_GUID(ImageFormatEMF, 0xb96b3cac, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
26DEFINE_GUID(ImageFormatWMF, 0xb96b3cad, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
27DEFINE_GUID(ImageFormatJPEG, 0xb96b3cae, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
28DEFINE_GUID(ImageFormatPNG, 0xb96b3caf, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
29DEFINE_GUID(ImageFormatGIF, 0xb96b3cb0, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
30DEFINE_GUID(ImageFormatTIFF, 0xb96b3cb1, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
31DEFINE_GUID(ImageFormatEXIF, 0xb96b3cb2, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
32DEFINE_GUID(ImageFormatIcon, 0xb96b3cb5, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
34DEFINE_GUID(FrameDimensionTime, 0x6aedbd6d, 0x3fb5, 0x418a, 0x83, 0xa6, 0x7f, 0x45, 0x22, 0x9d, 0xc8, 0x72);
35DEFINE_GUID(FrameDimensionPage, 0x7462dc86, 0x6180, 0x4c7e, 0x8e, 0x3f, 0xee, 0x73, 0x33, 0xa7, 0xa4, 0x83);
36DEFINE_GUID(FrameDimensionResolution, 0x84236f7b, 0x3bd3, 0x428f, 0x8d, 0xab, 0x4e, 0xa1, 0x43, 0x9c, 0xa3, 0x15);
38DEFINE_GUID(EncoderSaveFlag, 0x292266fc, 0xac40, 0x47bf, 0x8c, 0xfc, 0xa8, 0x5b, 0x89, 0xa6, 0x55, 0xde);
209#define PropertyTagTypeByte 1
210#define PropertyTagTypeASCII 2
211#define PropertyTagTypeShort 3
212#define PropertyTagTypeLong 4
213#define PropertyTagTypeRational 5
214#define PropertyTagTypeUndefined 7
215#define PropertyTagTypeSLONG 9
216#define PropertyTagTypeSRational 10
219#define PropertyTagExifIFD 0x8769
220#define PropertyTagGpsIFD 0x8825
222#define PropertyTagNewSubfileType 0x00FE
223#define PropertyTagSubfileType 0x00FF
224#define PropertyTagImageWidth 0x0100
225#define PropertyTagImageHeight 0x0101
226#define PropertyTagBitsPerSample 0x0102
227#define PropertyTagCompression 0x0103
228#define PropertyTagPhotometricInterp 0x0106
229#define PropertyTagThreshHolding 0x0107
230#define PropertyTagCellWidth 0x0108
231#define PropertyTagCellHeight 0x0109
232#define PropertyTagFillOrder 0x010A
233#define PropertyTagDocumentName 0x010D
234#define PropertyTagImageDescription 0x010E
235#define PropertyTagEquipMake 0x010F
236#define PropertyTagEquipModel 0x0110
237#define PropertyTagStripOffsets 0x0111
238#define PropertyTagOrientation 0x0112
239#define PropertyTagSamplesPerPixel 0x0115
240#define PropertyTagRowsPerStrip 0x0116
241#define PropertyTagStripBytesCount 0x0117
242#define PropertyTagMinSampleValue 0x0118
243#define PropertyTagMaxSampleValue 0x0119
244#define PropertyTagXResolution 0x011A
245#define PropertyTagYResolution 0x011B
246#define PropertyTagPlanarConfig 0x011C
247#define PropertyTagPageName 0x011D
248#define PropertyTagXPosition 0x011E
249#define PropertyTagYPosition 0x011F
250#define PropertyTagFreeOffset 0x0120
251#define PropertyTagFreeByteCounts 0x0121
252#define PropertyTagGrayResponseUnit 0x0122
253#define PropertyTagGrayResponseCurve 0x0123
254#define PropertyTagT4Option 0x0124
255#define PropertyTagT6Option 0x0125
256#define PropertyTagResolutionUnit 0x0128
257#define PropertyTagPageNumber 0x0129
258#define PropertyTagTransferFuncition 0x012D
259#define PropertyTagSoftwareUsed 0x0131
260#define PropertyTagDateTime 0x0132
261#define PropertyTagArtist 0x013B
262#define PropertyTagHostComputer 0x013C
263#define PropertyTagPredictor 0x013D
264#define PropertyTagWhitePoint 0x013E
265#define PropertyTagPrimaryChromaticities 0x013F
266#define PropertyTagColorMap 0x0140
267#define PropertyTagHalftoneHints 0x0141
268#define PropertyTagTileWidth 0x0142
269#define PropertyTagTileLength 0x0143
270#define PropertyTagTileOffset 0x0144
271#define PropertyTagTileByteCounts 0x0145
272#define PropertyTagInkSet 0x014C
273#define PropertyTagInkNames 0x014D
274#define PropertyTagNumberOfInks 0x014E
275#define PropertyTagDotRange 0x0150
276#define PropertyTagTargetPrinter 0x0151
277#define PropertyTagExtraSamples 0x0152
278#define PropertyTagSampleFormat 0x0153
279#define PropertyTagSMinSampleValue 0x0154
280#define PropertyTagSMaxSampleValue 0x0155
281#define PropertyTagTransferRange 0x0156
283#define PropertyTagJPEGProc 0x0200
284#define PropertyTagJPEGInterFormat 0x0201
285#define PropertyTagJPEGInterLength 0x0202
286#define PropertyTagJPEGRestartInterval 0x0203
287#define PropertyTagJPEGLosslessPredictors 0x0205
288#define PropertyTagJPEGPointTransforms 0x0206
289#define PropertyTagJPEGQTables 0x0207
290#define PropertyTagJPEGDCTables 0x0208
291#define PropertyTagJPEGACTables 0x0209
293#define PropertyTagYCbCrCoefficients 0x0211
294#define PropertyTagYCbCrSubsampling 0x0212
295#define PropertyTagYCbCrPositioning 0x0213
296#define PropertyTagREFBlackWhite 0x0214
298#define PropertyTagICCProfile 0x8773
300#define PropertyTagGamma 0x0301
301#define PropertyTagICCProfileDescriptor 0x0302
302#define PropertyTagSRGBRenderingIntent 0x0303
304#define PropertyTagImageTitle 0x0320
305#define PropertyTagCopyright 0x8298
307#define PropertyTagResolutionXUnit 0x5001
308#define PropertyTagResolutionYUnit 0x5002
309#define PropertyTagResolutionXLengthUnit 0x5003
310#define PropertyTagResolutionYLengthUnit 0x5004
311#define PropertyTagPrintFlags 0x5005
312#define PropertyTagPrintFlagsVersion 0x5006
313#define PropertyTagPrintFlagsCrop 0x5007
314#define PropertyTagPrintFlagsBleedWidth 0x5008
315#define PropertyTagPrintFlagsBleedWidthScale 0x5009
316#define PropertyTagHalftoneLPI 0x500A
317#define PropertyTagHalftoneLPIUnit 0x500B
318#define PropertyTagHalftoneDegree 0x500C
319#define PropertyTagHalftoneShape 0x500D
320#define PropertyTagHalftoneMisc 0x500E
321#define PropertyTagHalftoneScreen 0x500F
322#define PropertyTagJPEGQuality 0x5010
323#define PropertyTagGridSize 0x5011
324#define PropertyTagThumbnailFormat 0x5012
325#define PropertyTagThumbnailWidth 0x5013
326#define PropertyTagThumbnailHeight 0x5014
327#define PropertyTagThumbnailColorDepth 0x5015
328#define PropertyTagThumbnailPlanes 0x5016
329#define PropertyTagThumbnailRawBytes 0x5017
330#define PropertyTagThumbnailSize 0x5018
331#define PropertyTagThumbnailCompressedSize 0x5019
332#define PropertyTagColorTransferFunction 0x501A
333#define PropertyTagThumbnailData 0x501B
335#define PropertyTagThumbnailImageWidth 0x5020
336#define PropertyTagThumbnailImageHeight 0x5021
337#define PropertyTagThumbnailBitsPerSample 0x5022
338#define PropertyTagThumbnailCompression 0x5023
339#define PropertyTagThumbnailPhotometricInterp 0x5024
340#define PropertyTagThumbnailImageDescription 0x5025
341#define PropertyTagThumbnailEquipMake 0x5026
342#define PropertyTagThumbnailEquipModel 0x5027
343#define PropertyTagThumbnailStripOffsets 0x5028
344#define PropertyTagThumbnailOrientation 0x5029
345#define PropertyTagThumbnailSamplesPerPixel 0x502A
346#define PropertyTagThumbnailRowsPerStrip 0x502B
347#define PropertyTagThumbnailStripBytesCount 0x502C
348#define PropertyTagThumbnailResolutionX 0x502D
349#define PropertyTagThumbnailResolutionY 0x502E
350#define PropertyTagThumbnailPlanarConfig 0x502F
351#define PropertyTagThumbnailResolutionUnit 0x5030
352#define PropertyTagThumbnailTransferFunction 0x5031
353#define PropertyTagThumbnailSoftwareUsed 0x5032
354#define PropertyTagThumbnailDateTime 0x5033
355#define PropertyTagThumbnailArtist 0x5034
356#define PropertyTagThumbnailWhitePoint 0x5035
357#define PropertyTagThumbnailPrimaryChromaticities 0x5036
358#define PropertyTagThumbnailYCbCrCoefficients 0x5037
359#define PropertyTagThumbnailYCbCrSubsampling 0x5038
360#define PropertyTagThumbnailYCbCrPositioning 0x5039
361#define PropertyTagThumbnailRefBlackWhite 0x503A
362#define PropertyTagThumbnailCopyRight 0x503B
364#define PropertyTagLuminanceTable 0x5090
365#define PropertyTagChrominanceTable 0x5091
367#define PropertyTagFrameDelay 0x5100
368#define PropertyTagLoopCount 0x5101
369#define PropertyTagGlobalPalette 0x5102
370#define PropertyTagIndexBackground 0x5103
371#define PropertyTagIndexTransparent 0x5104
373#define PropertyTagPixelUnit 0x5110
374#define PropertyTagPixelPerUnitX 0x5111
375#define PropertyTagPixelPerUnitY 0x5112
376#define PropertyTagPaletteHistogram 0x5113
378#define PropertyTagExifExposureTime 0x829A
379#define PropertyTagExifFNumber 0x829D
381#define PropertyTagExifExposureProg 0x8822
382#define PropertyTagExifSpectralSense 0x8824
383#define PropertyTagExifISOSpeed 0x8827
384#define PropertyTagExifOECF 0x8828
386#define PropertyTagExifVer 0x9000
387#define PropertyTagExifDTOrig 0x9003
388#define PropertyTagExifDTDigitized 0x9004
390#define PropertyTagExifCompConfig 0x9101
391#define PropertyTagExifCompBPP 0x9102
393#define PropertyTagExifShutterSpeed 0x9201
394#define PropertyTagExifAperture 0x9202
395#define PropertyTagExifBrightness 0x9203
396#define PropertyTagExifExposureBias 0x9204
397#define PropertyTagExifMaxAperture 0x9205
398#define PropertyTagExifSubjectDist 0x9206
399#define PropertyTagExifMeteringMode 0x9207
400#define PropertyTagExifLightSource 0x9208
401#define PropertyTagExifFlash 0x9209
402#define PropertyTagExifFocalLength 0x920A
403#define PropertyTagExifMakerNote 0x927C
404#define PropertyTagExifUserComment 0x9286
405#define PropertyTagExifDTSubsec 0x9290
406#define PropertyTagExifDTOrigSS 0x9291
407#define PropertyTagExifDTDigSS 0x9292
409#define PropertyTagExifFPXVer 0xA000
410#define PropertyTagExifColorSpace 0xA001
411#define PropertyTagExifPixXDim 0xA002
412#define PropertyTagExifPixYDim 0xA003
413#define PropertyTagExifRelatedWav 0xA004
414#define PropertyTagExifInterop 0xA005
415#define PropertyTagExifFlashEnergy 0xA20B
416#define PropertyTagExifSpatialFR 0xA20C
417#define PropertyTagExifFocalXRes 0xA20E
418#define PropertyTagExifFocalYRes 0xA20F
419#define PropertyTagExifFocalResUnit 0xA210
420#define PropertyTagExifSubjectLoc 0xA214
421#define PropertyTagExifExposureIndex 0xA215
422#define PropertyTagExifSensingMethod 0xA217
423#define PropertyTagExifFileSource 0xA300
424#define PropertyTagExifSceneType 0xA301
425#define PropertyTagExifCfaPattern 0xA302
427#define PropertyTagGpsVer 0x0000
428#define PropertyTagGpsLatitudeRef 0x0001
429#define PropertyTagGpsLatitude 0x0002
430#define PropertyTagGpsLongitudeRef 0x0003
431#define PropertyTagGpsLongitude 0x0004
432#define PropertyTagGpsAltitudeRef 0x0005
433#define PropertyTagGpsAltitude 0x0006
434#define PropertyTagGpsGpsTime 0x0007
435#define PropertyTagGpsGpsSatellites 0x0008
436#define PropertyTagGpsGpsStatus 0x0009
437#define PropertyTagGpsGpsMeasureMode 0x000A
438#define PropertyTagGpsGpsDop 0x000B
439#define PropertyTagGpsSpeedRef 0x000C
440#define PropertyTagGpsSpeed 0x000D
441#define PropertyTagGpsTrackRef 0x000E
442#define PropertyTagGpsTrack 0x000F
443#define PropertyTagGpsImgDirRef 0x0010
444#define PropertyTagGpsImgDir 0x0011
445#define PropertyTagGpsMapDatum 0x0012
446#define PropertyTagGpsDestLatRef 0x0013
447#define PropertyTagGpsDestLat 0x0014
448#define PropertyTagGpsDestLongRef 0x0015
449#define PropertyTagGpsDestLong 0x0016
450#define PropertyTagGpsDestBearRef 0x0017
451#define PropertyTagGpsDestBear 0x0018
452#define PropertyTagGpsDestDistRef 0x0019
453#define PropertyTagGpsDestDist 0x001A
@ ImageLockModeUserInputBuf
static const CLSID IPropertyStorage UINT *static const PROPSPEC PROPVARIANT *static UINT const PROPSPEC PROPVARIANT PROPID
unsigned __int3264 UINT_PTR
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
const WCHAR * FilenameExtension
const WCHAR * FormatDescription
_Inout_opt_ PVOID Parameter