//exifTags 标签 import gdip.image; namespace gdip; class exifTags{ ctor(image,...){ this.image = image[["pImage"]] ? image : ..gdip.image(image,...); }; each = function(){ var next = this.image.eachProperty(); return function(){ tagId,propertyItem = next(); if(tagId){ return tagId,self[tagId],propertyItem); } } }; getByName = function(name){ var id = self[name] if(type(id)==type.number){ return this.image.getPropertyItem(id) } }; getById = function(id){ if(type(id)==type.number){ return this.image.getPropertyItem(id) } else { return this.getByName(id); } }; } ..table.assign(exifTags,{ [0x1]="GpsLatitudeRef"; [0x2]="GpsLatitude"; [0x3]="GpsLongitudeRef"; [0x4]="GpsLongitude"; [0x5]="GpsAltitudeRef"; [0x6]="GpsAltitude"; [0x7]="GpsGpsTime"; [0x8]="GpsGpsSatellites"; [0x9]="GpsGpsStatus"; [0xa]="GpsGpsMeasureMode"; [0xb]="GpsGpsDop"; [0xc]="GpsSpeedRef"; [0xd]="GpsSpeed"; [0xe]="GpsTrackRef"; [0xf]="GpsTrack"; [0x10]="GpsImgDirRef"; [0x11]="GpsImgDir"; [0x12]="GpsMapDatum"; [0x13]="GpsDestLatRef"; [0x14]="GpsDestLat"; [0x15]="GpsDestLongRef"; [0x16]="GpsDestLong"; [0x17]="GpsDestBearRef"; [0x18]="GpsDestBear"; [0x19]="GpsDestDistRef"; [0x1a]="GpsDestDist"; [0x1b]="GpsProcessingMethod"; [0x1c]="GpsAreaInformation"; [0x1d]="GpsDate"; [0x1e]="GpsDifferential"; [0x207]="JPEGQTables"; [0x124]="T4Option"; [0x9204]="ExifExposureBias"; [0x144]="TileOffset"; [0x9214]="ExifSubjectArea"; [0xa20c]="ExifSpatialFR"; [0xa214]="ExifSubjectLoc"; [0x208]="JPEGDCTables"; [0x209]="JPEGACTables"; [0x115]="SamplesPerPixel"; [0x125]="T6Option"; [0x145]="TileByteCounts"; [0x155]="SMaxSampleValue"; [0x5007]="PrintFlagsCrop"; [0x500b]="HalftoneLPIUnit"; [0x500f]="HalftoneScreen"; [0x5013]="ThumbnailWidth"; [0x5017]="ThumbnailRawBytes"; [0x501b]="ThumbnailData"; [0x5023]="ThumbnailCompression"; [0x5027]="ThumbnailEquipModel"; [0x502b]="ThumbnailRowsPerStrip"; [0x106]="PhotometricInterp"; [0x116]="RowsPerStrip"; [0x5037]="ThumbnailYCbCrCoefficients"; [0x503b]="ThumbnailCopyRight"; [0xa403]="ExifWhiteBalance"; [0x8827]="ExifISOSpeed"; [0xa215]="ExifExposureIndex"; [0x107]="ThreshHolding"; [0x117]="StripBytesCount"; [0x829d]="ExifFNumber"; [0x108]="CellWidth"; [0x118]="MinSampleValue"; [0x128]="ResolutionUnit"; [0x9206]="ExifSubjectDist"; [0xa000]="ExifFPXVer"; [0xa404]="ExifDigitalZoomRatio"; [0xa40c]="ExifSubjectDistanceRange"; [0x8769]="ExifIFD"; [0x109]="CellHeight"; [0x119]="MaxSampleValue"; [0x129]="PageNumber"; [0x9286]="ExifUserComment"; [0x5004]="ResolutionYLengthUnit"; [0x5008]="PrintFlagsBleedWidth"; [0x500c]="HalftoneDegree"; [0x212]="YCbCrSubsampling"; [0x5113]="PaletteHistogram"; [0x5018]="ThumbnailSize"; [0x5020]="ThumbnailImageWidth"; [0x5024]="ThumbnailPhotometricInterp"; [0x5028]="ThumbnailStripOffsets"; [0x502c]="ThumbnailStripBytesCount"; [0x10a]="FillOrder"; [0x11a]="XResolution"; [0x5038]="ThumbnailYCbCrSubsampling"; [0x9207]="ExifMeteringMode"; [0xa001]="ExifColorSpace"; [0xa405]="ExifFocalLengthIn35mmFilm"; [0xa20f]="ExifFocalYRes"; [0xa217]="ExifSensingMethod"; [0x214]="REFBlackWhite"; [0x11b]="YResolution"; [0x13b]="Artist"; [0x500e]="HalftoneMisc"; [0x5103]="IndexBackground"; [0x5011]="GridSize"; [0x122]="GrayResponseUnit"; [0x5090]="LuminanceTable"; [0x202]="JPEGInterLength"; [0x5033]="ThumbnailDateTime"; [0xfe]="NewSubfileType"; [0x8825]="GpsIFD"; [0x13d]="Predictor"; [0xa20b]="ExifFlashEnergy"; [0xa408]="ExifContrast"; [0x5100]="FrameDelay"; [0x11c]="PlanarConfig"; [0x9101]="ExifCompConfig"; [0x13c]="HostComputer"; [0x14c]="InkSet"; [0xa406]="ExifSceneCaptureType"; [0xa210]="ExifFocalResUnit"; [0xa301]="ExifSceneType"; [0x502f]="ThumbnailPlanarConfig"; [0x203]="JPEGRestartInterval"; [0x13e]="WhitePoint"; [0x320]="ImageTitle"; [0x9290]="ExifDTSubsec"; [0x927c]="ExifMakerNote"; [0x5005]="PrintFlags"; [0x8773]="ICCProfile"; [0x10d]="DocumentName"; [0x11d]="PageName"; [0x12d]="TransferFunction"; [0x8298]="Copyright"; [0x5001]="ResolutionXUnit"; [0x5104]="IndexTransparent"; [0x5009]="PrintFlagsBleedWidthScale"; [0x500d]="HalftoneShape"; [0x5110]="PixelUnit"; [0x5015]="ThumbnailColorDepth"; [0x5019]="ThumbnailCompressedSize"; [0xa40b]="ExifDeviceSettingDesc"; [0x5021]="ThumbnailImageHeight"; [0x5025]="ThumbnailImageDescription"; [0x5029]="ThumbnailOrientation"; [0x502d]="ThumbnailResolutionX"; [0x5031]="ThumbnailTransferFunction"; [0x5035]="ThumbnailWhitePoint"; [0x5039]="ThumbnailYCbCrPositioning"; [0x5041]="InteroperabilityIndex"; [0x5042]="ExifInteroperabilityVersion"; [0x9209]="ExifFlash"; [0xa300]="ExifFileSource"; [0xa407]="ExifGainControl"; [0x9205]="ExifMaxAperture"; [0x9003]="ExifDTOrig"; [0x9202]="ExifAperture"; [0x112]="Orientation"; [0x5102]="GlobalPalette"; [0x9201]="ExifShutterSpeed"; [0x211]="YCbCrCoefficients"; [0x11e]="XPosition"; [0x101]="ImageHeight"; [0xff]="SubfileType"; [0x10f]="EquipMake"; [0x11f]="YPosition"; [0x213]="YCbCrPositioning"; [0x13f]="PrimaryChromaticities"; [0x9291]="ExifDTOrigSS"; [0xa401]="ExifCustomRendered"; [0x205]="JPEGLosslessPredictors"; [0x5101]="LoopCount"; [0x5091]="ChrominanceTable"; [0xa402]="ExifExposureMode"; [0xa40a]="ExifSharpness"; [0x154]="SMinSampleValue"; [0x132]="DateTime"; [0x5003]="ResolutionXLengthUnit"; [0x9292]="ExifDTDigSS"; [0x100]="ImageWidth"; [0x110]="EquipModel"; [0x120]="FreeOffset"; [0x9004]="ExifDTDigitized"; [0x140]="ColorMap"; [0x150]="DotRange"; [0x8824]="ExifSpectralSense"; [0x8828]="ExifOECF"; [0x200]="JPEGProc"; [0xa420]="ExifUniqueImageID"; [0x9208]="ExifLightSource"; [0x502e]="ThumbnailResolutionY"; [0x5034]="ThumbnailArtist"; [0x5012]="ThumbnailFormat"; [0x829a]="ExifExposureTime"; [0xa20e]="ExifFocalXRes"; [0x201]="JPEGInterFormat"; [0x111]="StripOffsets"; [0x121]="FreeByteCounts"; [0x131]="SoftwareUsed"; [0x141]="HalftoneHints"; [0x5002]="ResolutionYUnit"; [0x5006]="PrintFlagsVersion"; [0x500a]="HalftoneLPI"; [0x301]="Gamma"; [0x5111]="PixelPerUnitX"; [0x5016]="ThumbnailPlanes"; [0x501a]="ColorTransferFunction"; [0x5030]="ThumbnailResolutionUnit"; [0x5022]="ThumbnailBitsPerSample"; [0x5026]="ThumbnailEquipMake"; [0x502a]="ThumbnailSamplesPerPixel"; [0x302]="ICCProfileDescriptor"; [0x5032]="ThumbnailSoftwareUsed"; [0x5036]="ThumbnailPrimaryChromaticities"; [0x503a]="ThumbnailRefBlackWhite"; [0x142]="TileWidth"; [0xa005]="ExifInterop"; [0xa409]="ExifSaturation"; [0x9203]="ExifBrightness"; [0x303]="SRGBRenderingIntent"; [0x14d]="InkNames"; [0xa003]="ExifPixYDim"; [0x152]="ExtraSamples"; [0x5010]="JPEGQuality"; [0x5014]="ThumbnailHeight"; [0x102]="BitsPerSample"; [0x5112]="PixelPerUnitY"; [0x103]="Compression"; [0x151]="TargetPrinter"; [0x123]="GrayResponseCurve"; [0x9000]="ExifVer"; [0x143]="TileLength"; [0x153]="SampleFormat"; [0x156]="TransferRange"; [0x14e]="NumberOfInks"; [0x206]="JPEGPointTransforms"; [0xa004]="ExifRelatedWav"; [0xa302]="ExifCfaPattern"; [0x920a]="ExifFocalLength"; [0x10e]="ImageDescription"; [0x8822]="ExifExposureProg"; [0x9102]="ExifCompBPP"; [0xa002]="ExifPixXDim"; }) ..table.invert(self); /**intellisense() gdip.exifTags = Exif 标签列表\n此命名空间存储的键 Exif 的 ID 时对应的值为标签名称,\n键为标签名称时对应的值为数值类型的 ID。 gdip.exifTags( = 创建 Exif 对象。 gdip.exifTags(.(imageOrBitmap) = 创建 Exif 对象。\n参数 @1 可指定 gdip.image 或 gdip.bitmap 对象。 gdip.exifTags(.(imagePathOrBuffer) = 创建 Exif 对象。\n参数 @1 可指定图像路径中内存数据。 gdip.exifTags() = !gdpExifTags. end intellisense**/ /*****intellisense(!gdpExifTags) image = 当前加载的 gdip.image 对象。\n!gdipimage. each() = @for( tagId,tagName,propertyItem in ??.each() ){ propertyItem.__/*遍历图像 Exif 属性*/ }\n!gdip_exif_item. getByName(__) = 读取 Exif 属性,参数 @1 指定标签名称。 getById(__) = 读取 Exif 属性,参数 @1 指定标签 ID。 getByName() = !gdip_exif_item. getById() = !gdip_exif_item. end intellisense*****/