⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exif.c

📁 php-4.4.7学习linux时下载的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
#define TAG_COPYRIGHT                   0x8298#define TAG_EXPOSURETIME                0x829A#define TAG_FNUMBER                     0x829D#define TAG_EXIF_IFD_POINTER            0x8769#define TAG_ICC_PROFILE                 0x8773#define TAG_EXPOSURE_PROGRAM            0x8822#define TAG_SPECTRAL_SENSITY            0x8824#define TAG_GPS_IFD_POINTER             0x8825#define TAG_ISOSPEED                    0x8827#define TAG_OPTOELECTRIC_CONVERSION_F   0x8828/* 0x8829 - 0x882b */#define TAG_EXIFVERSION                 0x9000#define TAG_DATE_TIME_ORIGINAL          0x9003#define TAG_DATE_TIME_DIGITIZED         0x9004#define TAG_COMPONENT_CONFIG            0x9101#define TAG_COMPRESSED_BITS_PER_PIXEL   0x9102#define TAG_SHUTTERSPEED                0x9201#define TAG_APERTURE                    0x9202#define TAG_BRIGHTNESS_VALUE            0x9203#define TAG_EXPOSURE_BIAS_VALUE         0x9204#define TAG_MAX_APERTURE                0x9205#define TAG_SUBJECT_DISTANCE            0x9206#define TAG_METRIC_MODULE               0x9207#define TAG_LIGHT_SOURCE                0x9208#define TAG_FLASH                       0x9209#define TAG_FOCAL_LENGTH                0x920A/* 0x920B - 0x920D *//* 0x9211 - 0x9216 */#define TAG_SUBJECT_AREA                0x9214#define TAG_MAKER_NOTE                  0x927C#define TAG_USERCOMMENT                 0x9286#define TAG_SUB_SEC_TIME                0x9290#define TAG_SUB_SEC_TIME_ORIGINAL       0x9291#define TAG_SUB_SEC_TIME_DIGITIZED      0x9292/* 0x923F *//* 0x935C */#define TAG_XP_TITLE                    0x9C9B#define TAG_XP_COMMENTS                 0x9C9C#define TAG_XP_AUTHOR                   0x9C9D#define TAG_XP_KEYWORDS                 0x9C9E#define TAG_XP_SUBJECT                  0x9C9F#define TAG_FLASH_PIX_VERSION           0xA000#define TAG_COLOR_SPACE                 0xA001#define TAG_COMP_IMAGE_WIDTH            0xA002 /* compressed images only */#define TAG_COMP_IMAGE_HEIGHT           0xA003#define TAG_RELATED_SOUND_FILE          0xA004#define TAG_INTEROP_IFD_POINTER         0xA005 /* IFD pointer */#define TAG_FLASH_ENERGY                0xA20B#define TAG_SPATIAL_FREQUENCY_RESPONSE  0xA20C#define TAG_FOCALPLANE_X_RES            0xA20E#define TAG_FOCALPLANE_Y_RES            0xA20F#define TAG_FOCALPLANE_RESOLUTION_UNIT  0xA210#define TAG_SUBJECT_LOCATION            0xA214#define TAG_EXPOSURE_INDEX              0xA215#define TAG_SENSING_METHOD              0xA217#define TAG_FILE_SOURCE                 0xA300#define TAG_SCENE_TYPE                  0xA301#define TAG_CFA_PATTERN                 0xA302#define TAG_CUSTOM_RENDERED             0xA401#define TAG_EXPOSURE_MODE               0xA402#define TAG_WHITE_BALANCE               0xA403#define TAG_DIGITAL_ZOOM_RATIO          0xA404#define TAG_FOCAL_LENGTH_IN_35_MM_FILM  0xA405#define TAG_SCENE_CAPTURE_TYPE          0xA406#define TAG_GAIN_CONTROL                0xA407#define TAG_CONTRAST                    0xA408#define TAG_SATURATION                  0xA409#define TAG_SHARPNESS                   0xA40A#define TAG_DEVICE_SETTING_DESCRIPTION  0xA40B#define TAG_SUBJECT_DISTANCE_RANGE      0xA40C#define TAG_IMAGE_UNIQUE_ID             0xA420/* Olympus specific tags */#define TAG_OLYMPUS_SPECIALMODE         0x0200#define TAG_OLYMPUS_JPEGQUAL            0x0201#define TAG_OLYMPUS_MACRO               0x0202#define TAG_OLYMPUS_DIGIZOOM            0x0204#define TAG_OLYMPUS_SOFTWARERELEASE     0x0207#define TAG_OLYMPUS_PICTINFO            0x0208#define TAG_OLYMPUS_CAMERAID            0x0209/* end Olympus specific tags *//* Internal */#define TAG_NONE               			-1 /* note that -1 <> 0xFFFF */#define TAG_COMPUTED_VALUE     			-2#define TAG_END_OF_LIST                 0xFFFD/* Values for TAG_PHOTOMETRIC_INTERPRETATION */#define PMI_BLACK_IS_ZERO       0#define PMI_WHITE_IS_ZERO       1#define PMI_RGB          	    2#define PMI_PALETTE_COLOR       3#define PMI_TRANSPARENCY_MASK   4#define PMI_SEPARATED           5#define PMI_YCBCR               6#define PMI_CIELAB              8/* }}} *//* {{{ TabTable[] */typedef const struct {	unsigned short Tag;	char *Desc;} tag_info_type;typedef tag_info_type  tag_info_array[];typedef tag_info_type  *tag_table_type;#define TAG_TABLE_END \  {TAG_NONE,           "No tag value"},\  {TAG_COMPUTED_VALUE, "Computed value"},\  {TAG_END_OF_LIST,    ""}  /* Important for exif_get_tagname() IF value != "" functionresult is != false */static tag_info_array tag_table_IFD = {  { 0x000B, "ACDComment"},  { 0x00FE, "NewSubFile"}, /* better name it 'ImageType' ? */  { 0x00FF, "SubFile"},  { 0x0100, "ImageWidth"},  { 0x0101, "ImageLength"},  { 0x0102, "BitsPerSample"},  { 0x0103, "Compression"},  { 0x0106, "PhotometricInterpretation"},  { 0x010A, "FillOrder"},  { 0x010D, "DocumentName"},  { 0x010E, "ImageDescription"},  { 0x010F, "Make"},  { 0x0110, "Model"},  { 0x0111, "StripOffsets"},  { 0x0112, "Orientation"},  { 0x0115, "SamplesPerPixel"},  { 0x0116, "RowsPerStrip"},  { 0x0117, "StripByteCounts"},  { 0x0118, "MinSampleValue"},  { 0x0119, "MaxSampleValue"},  { 0x011A, "XResolution"},  { 0x011B, "YResolution"},  { 0x011C, "PlanarConfiguration"},  { 0x011D, "PageName"},  { 0x011E, "XPosition"},  { 0x011F, "YPosition"},  { 0x0120, "FreeOffsets"},  { 0x0121, "FreeByteCounts"},  { 0x0122, "GrayResponseUnit"},  { 0x0123, "GrayResponseCurve"},  { 0x0124, "T4Options"},  { 0x0125, "T6Options"},  { 0x0128, "ResolutionUnit"},  { 0x0129, "PageNumber"},  { 0x012D, "TransferFunction"},  { 0x0131, "Software"},  { 0x0132, "DateTime"},  { 0x013B, "Artist"},  { 0x013C, "HostComputer"},  { 0x013D, "Predictor"},  { 0x013E, "WhitePoint"},  { 0x013F, "PrimaryChromaticities"},  { 0x0140, "ColorMap"},  { 0x0141, "HalfToneHints"},  { 0x0142, "TileWidth"},  { 0x0143, "TileLength"},  { 0x0144, "TileOffsets"},  { 0x0145, "TileByteCounts"},  { 0x014A, "SubIFD"},  { 0x014C, "InkSet"},  { 0x014D, "InkNames"},  { 0x014E, "NumberOfInks"},  { 0x0150, "DotRange"},  { 0x0151, "TargetPrinter"},  { 0x0152, "ExtraSample"},  { 0x0153, "SampleFormat"},  { 0x0154, "SMinSampleValue"},  { 0x0155, "SMaxSampleValue"},  { 0x0156, "TransferRange"},  { 0x0157, "ClipPath"},  { 0x0158, "XClipPathUnits"},  { 0x0159, "YClipPathUnits"},  { 0x015A, "Indexed"},  { 0x015B, "JPEGTables"},  { 0x015F, "OPIProxy"},  { 0x0200, "JPEGProc"},  { 0x0201, "JPEGInterchangeFormat"},  { 0x0202, "JPEGInterchangeFormatLength"},  { 0x0203, "JPEGRestartInterval"},  { 0x0205, "JPEGLosslessPredictors"},  { 0x0206, "JPEGPointTransforms"},  { 0x0207, "JPEGQTables"},  { 0x0208, "JPEGDCTables"},  { 0x0209, "JPEGACTables"},  { 0x0211, "YCbCrCoefficients"},  { 0x0212, "YCbCrSubSampling"},  { 0x0213, "YCbCrPositioning"},  { 0x0214, "ReferenceBlackWhite"},  { 0x02BC, "ExtensibleMetadataPlatform"}, /* XAP: Extensible Authoring Publishing, obsoleted by XMP: Extensible Metadata Platform */  { 0x0301, "Gamma"},   { 0x0302, "ICCProfileDescriptor"},   { 0x0303, "SRGBRenderingIntent"},   { 0x0320, "ImageTitle"},   { 0x5001, "ResolutionXUnit"},   { 0x5002, "ResolutionYUnit"},   { 0x5003, "ResolutionXLengthUnit"},   { 0x5004, "ResolutionYLengthUnit"},   { 0x5005, "PrintFlags"},   { 0x5006, "PrintFlagsVersion"},   { 0x5007, "PrintFlagsCrop"},   { 0x5008, "PrintFlagsBleedWidth"},   { 0x5009, "PrintFlagsBleedWidthScale"},   { 0x500A, "HalftoneLPI"},   { 0x500B, "HalftoneLPIUnit"},   { 0x500C, "HalftoneDegree"},   { 0x500D, "HalftoneShape"},   { 0x500E, "HalftoneMisc"},   { 0x500F, "HalftoneScreen"},   { 0x5010, "JPEGQuality"},   { 0x5011, "GridSize"},   { 0x5012, "ThumbnailFormat"},   { 0x5013, "ThumbnailWidth"},   { 0x5014, "ThumbnailHeight"},   { 0x5015, "ThumbnailColorDepth"},   { 0x5016, "ThumbnailPlanes"},   { 0x5017, "ThumbnailRawBytes"},   { 0x5018, "ThumbnailSize"},   { 0x5019, "ThumbnailCompressedSize"},   { 0x501A, "ColorTransferFunction"},   { 0x501B, "ThumbnailData"},   { 0x5020, "ThumbnailImageWidth"},   { 0x5021, "ThumbnailImageHeight"},   { 0x5022, "ThumbnailBitsPerSample"},   { 0x5023, "ThumbnailCompression"},   { 0x5024, "ThumbnailPhotometricInterp"},   { 0x5025, "ThumbnailImageDescription"},   { 0x5026, "ThumbnailEquipMake"},   { 0x5027, "ThumbnailEquipModel"},   { 0x5028, "ThumbnailStripOffsets"},   { 0x5029, "ThumbnailOrientation"},   { 0x502A, "ThumbnailSamplesPerPixel"},   { 0x502B, "ThumbnailRowsPerStrip"},   { 0x502C, "ThumbnailStripBytesCount"},   { 0x502D, "ThumbnailResolutionX"},   { 0x502E, "ThumbnailResolutionY"},   { 0x502F, "ThumbnailPlanarConfig"},   { 0x5030, "ThumbnailResolutionUnit"},   { 0x5031, "ThumbnailTransferFunction"},   { 0x5032, "ThumbnailSoftwareUsed"},   { 0x5033, "ThumbnailDateTime"},   { 0x5034, "ThumbnailArtist"},   { 0x5035, "ThumbnailWhitePoint"},   { 0x5036, "ThumbnailPrimaryChromaticities"},   { 0x5037, "ThumbnailYCbCrCoefficients"},   { 0x5038, "ThumbnailYCbCrSubsampling"},   { 0x5039, "ThumbnailYCbCrPositioning"},   { 0x503A, "ThumbnailRefBlackWhite"},   { 0x503B, "ThumbnailCopyRight"},   { 0x5090, "LuminanceTable"},   { 0x5091, "ChrominanceTable"},   { 0x5100, "FrameDelay"},   { 0x5101, "LoopCount"},   { 0x5110, "PixelUnit"},   { 0x5111, "PixelPerUnitX"},   { 0x5112, "PixelPerUnitY"},   { 0x5113, "PaletteHistogram"},   { 0x1000, "RelatedImageFileFormat"},  { 0x800D, "ImageID"},  { 0x80E3, "Matteing"},   /* obsoleted by ExtraSamples */  { 0x80E4, "DataType"},   /* obsoleted by SampleFormat */  { 0x80E5, "ImageDepth"},  { 0x80E6, "TileDepth"},  { 0x828D, "CFARepeatPatternDim"},  { 0x828E, "CFAPattern"},  { 0x828F, "BatteryLevel"},  { 0x8298, "Copyright"},  { 0x829A, "ExposureTime"},  { 0x829D, "FNumber"},  { 0x83BB, "IPTC/NAA"},  { 0x84E3, "IT8RasterPadding"},  { 0x84E5, "IT8ColorTable"},  { 0x8649, "ImageResourceInformation"}, /* PhotoShop */  { 0x8769, "Exif_IFD_Pointer"},  { 0x8773, "ICC_Profile"},  { 0x8822, "ExposureProgram"},  { 0x8824, "SpectralSensity"},  { 0x8828, "OECF"},  { 0x8825, "GPS_IFD_Pointer"},  { 0x8827, "ISOSpeedRatings"},  { 0x8828, "OECF"},  { 0x9000, "ExifVersion"},  { 0x9003, "DateTimeOriginal"},  { 0x9004, "DateTimeDigitized"},  { 0x9101, "ComponentsConfiguration"},  { 0x9102, "CompressedBitsPerPixel"},  { 0x9201, "ShutterSpeedValue"},  { 0x9202, "ApertureValue"},  { 0x9203, "BrightnessValue"},  { 0x9204, "ExposureBiasValue"},  { 0x9205, "MaxApertureValue"},  { 0x9206, "SubjectDistance"},  { 0x9207, "MeteringMode"},  { 0x9208, "LightSource"},  { 0x9209, "Flash"},  { 0x920A, "FocalLength"},  { 0x920B, "FlashEnergy"},                 /* 0xA20B  in JPEG   */  { 0x920C, "SpatialFrequencyResponse"},    /* 0xA20C    -  -    */  { 0x920D, "Noise"},  { 0x920E, "FocalPlaneXResolution"},       /* 0xA20E    -  -    */  { 0x920F, "FocalPlaneYResolution"},       /* 0xA20F    -  -    */  { 0x9210, "FocalPlaneResolutionUnit"},    /* 0xA210    -  -    */  { 0x9211, "ImageNumber"},  { 0x9212, "SecurityClassification"},  { 0x9213, "ImageHistory"},  { 0x9214, "SubjectLocation"},             /* 0xA214    -  -    */  { 0x9215, "ExposureIndex"},               /* 0xA215    -  -    */  { 0x9216, "TIFF/EPStandardID"},  { 0x9217, "SensingMethod"},               /* 0xA217    -  -    */  { 0x923F, "StoNits"},  { 0x927C, "MakerNote"},  { 0x9286, "UserComment"},  { 0x9290, "SubSecTime"},  { 0x9291, "SubSecTimeOriginal"},  { 0x9292, "SubSecTimeDigitized"},  { 0x935C, "ImageSourceData"},             /* "Adobe Photoshop Document Data Block": 8BIM... */  { 0x9c9b, "Title" },                      /* Win XP specific, Unicode  */  { 0x9c9c, "Comments" },                   /* Win XP specific, Unicode  */  { 0x9c9d, "Author" },                     /* Win XP specific, Unicode  */  { 0x9c9e, "Keywords" },                   /* Win XP specific, Unicode  */  { 0x9c9f, "Subject" },                    /* Win XP specific, Unicode, not to be confused with SubjectDistance and SubjectLocation */  { 0xA000, "FlashPixVersion"},  { 0xA001, "ColorSpace"},  { 0xA002, "ExifImageWidth"},  { 0xA003, "ExifImageLength"},  { 0xA004, "RelatedSoundFile"},  { 0xA005, "InteroperabilityOffset"},  { 0xA20B, "FlashEnergy"},                 /* 0x920B in TIFF/EP */  { 0xA20C, "SpatialFrequencyResponse"},    /* 0x920C    -  -    */  { 0xA20D, "Noise"},  { 0xA20E, "FocalPlaneXResolution"},    	/* 0x920E    -  -    */  { 0xA20F, "FocalPlaneYResolution"},       /* 0x920F    -  -    */  { 0xA210, "FocalPlaneResolutionUnit"},    /* 0x9210    -  -    */  { 0xA211, "ImageNumber"},  { 0xA212, "SecurityClassification"},  { 0xA213, "ImageHistory"},  { 0xA214, "SubjectLocation"},             /* 0x9214    -  -    */  { 0xA215, "ExposureIndex"},               /* 0x9215    -  -    */  { 0xA216, "TIFF/EPStandardID"},  { 0xA217, "SensingMethod"},               /* 0x9217    -  -    */  { 0xA300, "FileSource"},  { 0xA301, "SceneType"},  { 0xA302, "CFAPattern"},  { 0xA401, "CustomRendered"},  { 0xA402, "ExposureMode"},  { 0xA403, "WhiteBalance"},  { 0xA404, "DigitalZoomRatio"},  { 0xA405, "FocalLengthIn35mmFilm"},  { 0xA406, "SceneCaptureType"},  { 0xA407, "GainControl"},  { 0xA408, "Contrast"},  { 0xA409, "Saturation"},  { 0xA40A, "Sharpness"},  { 0xA40B, "DeviceSettingDescription"},  { 0xA40C, "SubjectDistanceRange"},  { 0xA420, "ImageUniqueID"},  TAG_TABLE_END} ;static tag_info_array tag_table_GPS = {  { 0x0000, "GPSVersion"},  { 0x0001, "GPSLatitudeRef"},  { 0x0002, "GPSLatitude"},  { 0x0003, "GPSLongitudeRef"},  { 0x0004, "GPSLongitude"},  { 0x0005, "GPSAltitudeRef"},  { 0x0006, "GPSAltitude"},  { 0x0007, "GPSTimeStamp"},  { 0x0008, "GPSSatellites"},  { 0x0009, "GPSStatus"},  { 0x000A, "GPSMeasureMode"},  { 0x000B, "GPSDOP"},  { 0x000C, "GPSSpeedRef"},  { 0x000D, "GPSSpeed"},  { 0x000E, "GPSTrackRef"},  { 0x000F, "GPSTrack"},  { 0x0010, "GPSImgDirectionRef"},  { 0x0011, "GPSImgDirection"},  { 0x0012, "GPSMapDatum"},  { 0x0013, "GPSDestLatitudeRef"},  { 0x0014, "GPSDestLatitude"},  { 0x0015, "GPSDestLongitudeRef"},  { 0x0016, "GPSDestLongitude"},  { 0x0017, "GPSDestBearingRef"},  { 0x0018, "GPSDestBearing"},  { 0x0019, "GPSDestDistanceRef"},  { 0x001A, "GPSDestDistance"},  { 0x001B, "GPSProcessingMode"},  { 0x001C, "GPSAreaInformation"},  { 0x001D, "GPSDateStamp"},  { 0x001E, "GPSDifferential"},  TAG_TABLE_END};static tag_info_array tag_table_IOP = {  { 0x0001, "InterOperabilityIndex"}, /* should be 'R98' or 'THM' */  { 0x0002, "InterOperabilityVersion"},  { 0x1000, "RelatedFileFormat"},  { 0x1001, "RelatedImageWidth"},  { 0x1002, "RelatedImageHeight"},  TAG_TABLE_END};static tag_info_array tag_table_VND_CANON = {  { 0x0001, "ModeArray"}, /* guess */  { 0x0004, "ImageInfo"}, /* guess */  { 0x0006, "ImageType"},  { 0x0007, "FirmwareVersion"},  { 0x0008, "ImageNumber"},  { 0x0009, "OwnerName"},  { 0x000C, "Camera"},  { 0x000F, "CustomFunctions"},  TAG_TABLE_END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -