ExifInterface 类

定义

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

[Android.Runtime.Register("android/media/ExifInterface", DoNotGenerateAcw=true)]
public class ExifInterface : Java.Lang.Object
[<Android.Runtime.Register("android/media/ExifInterface", DoNotGenerateAcw=true)>]
type ExifInterface = class
    inherit Object
继承
ExifInterface
属性

注解

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

<b>注意:</b> 此类在某些版本的 Android 上存在已知问题。 建议使用 AndroidXExifInterface 库 ,因为它提供此类功能的超集,并且更易于更新。 除了此类的功能之外,它还支持分析额外的元数据,例如公开和数据压缩信息,以及设置额外的元数据(如 GPS 和日期时间信息)。

支持阅读:JPEG、PNG、WebP、HEIF、DNG、CR2、NEF、NRW、ARW、RW2、ORF、PEF、SRW、RAF、AVIF。

支持写入:JPEG、PNG、WebP。

注意:JPEG 和 HEIF 文件可能包含 Exif 数据区块内或外部的 XMP 数据。 此类将搜索 XMP 数据的这两个位置,但如果 XMP 数据同时存在于 Exif 内部和外部,则 Exif 中的 XMP 数据将优先于外部数据。

适用于 . 的 android.media.ExifInterfaceJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

ExifInterface(File)

从指定的映像文件读取 Exif 标记。

ExifInterface(FileDescriptor)

从指定的图像文件描述符读取 Exif 标记。

ExifInterface(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

ExifInterface(Stream)

从指定的图像输入流中读取 Exif 标记。

ExifInterface(Stream, Int32)

基于流类型从指定的图像输入流中读取 Exif 标记。

ExifInterface(String)

从指定的映像文件读取 Exif 标记。

字段

StreamTypeExifDataOnly
已过时.

用于指示输入流仅包含 Exif 数据的常量。

StreamTypeFullImageData
已过时.

用于指示输入流包含完整图像数据的常量。

TagAperture

类型为 double。

TagApertureValue

类型是合理的。

TagArtist

类型为字符串。

TagBitsPerSample

类型为 int。

TagBrightnessValue

类型是合理的。

TagCfaPattern

类型为字符串。

TagColorSpace

类型为 int。

TagComponentsConfiguration

类型为字符串。

TagCompressedBitsPerPixel

类型是合理的。

TagCompression

类型为 int。

TagContrast

类型为 int。

TagCopyright

类型为字符串。

TagCustomRendered

类型为 int。

TagDatetime

类型为字符串。

TagDatetimeDigitized

类型为字符串。

TagDatetimeOriginal

类型为字符串。

TagDefaultCropSize

类型为 int。

TagDeviceSettingDescription

类型为字符串。

TagDigitalZoomRatio

类型为 double。

TagDngVersion

类型为 int。

TagExifVersion

类型为字符串。

TagExposureBiasValue

类型为 double。

TagExposureIndex

类型是合理的。

TagExposureMode

类型为 int。

TagExposureProgram

类型为 int。

TagExposureTime

类型为 double。

TagFileSource

类型为字符串。

TagFlash

类型为 int。

TagFlashEnergy

类型是合理的。

TagFlashpixVersion

类型为字符串。

TagFNumber

类型为 double。

TagFocalLength

类型是合理的。

TagFocalLengthIn35mmFilm

类型为 int。

TagFocalPlaneResolutionUnit

类型为 int。

TagFocalPlaneXResolution

类型是合理的。

TagFocalPlaneYResolution

类型是合理的。

TagGainControl

类型为 int。

TagGpsAltitude

基于TAG_GPS_ALTITUDE_REF中的参考的高度(以米为单位)。

TagGpsAltitudeRef

如果海拔高度高于海平面,则为 0。

TagGpsAreaInformation

类型为字符串。

TagGpsDatestamp

类型为字符串。

TagGpsDestBearing

类型是合理的。

TagGpsDestBearingRef

类型为字符串。

TagGpsDestDistance

类型是合理的。

TagGpsDestDistanceRef

类型为字符串。

TagGpsDestLatitude

类型是合理的。

TagGpsDestLatitudeRef

类型为字符串。

TagGpsDestLongitude

类型是合理的。

TagGpsDestLongitudeRef

类型为字符串。

TagGpsDifferential

类型为 int。

TagGpsDop

类型是合理的。

TagGpsImgDirection

类型是合理的。

TagGpsImgDirectionRef

类型为字符串。

TagGpsLatitude

类型是合理的。

TagGpsLatitudeRef

类型为字符串。

TagGpsLongitude

类型是合理的。

TagGpsLongitudeRef

类型为字符串。

TagGpsMapDatum

类型为字符串。

TagGpsMeasureMode

类型为字符串。

TagGpsProcessingMethod

类型为字符串。

TagGpsSatellites

类型为字符串。

TagGpsSpeed

类型是合理的。

TagGpsSpeedRef

类型为字符串。

TagGpsStatus

类型为字符串。

TagGpsTimestamp

类型为字符串。

TagGpsTrack

类型是合理的。

TagGpsTrackRef

类型为字符串。

TagGpsVersionId

类型为字符串。

TagImageDescription

类型为字符串。

TagImageLength

类型为 int。

TagImageUniqueId

类型为字符串。

TagImageWidth

类型为 int。

TagInteroperabilityIndex

类型为字符串。

TagIso

类型为 int。

TagIsoSpeedRatings

类型为 int。

TagJpegInterchangeFormat

类型为 int。

TagJpegInterchangeFormatLength

类型为 int。

TagLightSource

类型为 int。

TagMake

类型为字符串。

TagMakerNote

类型为字符串。

TagMaxApertureValue

类型是合理的。

TagMeteringMode

类型为 int。

TagModel

类型为字符串。

TagNewSubfileType

类型为 int。

TagOecf

类型为字符串。

TagOffsetTime

用于记录 DateTime 标记时间的偏移量(与世界时协调的时间差(包括夏令时)的标记。

TagOffsetTimeDigitized

一个标记,用于记录 DateTimeDigitized 标记时间的偏移量(与世界时协调的时间差(包括夏令时)。

TagOffsetTimeOriginal

用于记录 DateTimeOriginal 标记时间的偏移量(与世界时协调的时间差(包括夏令时)的标记。

TagOrfAspectFrame

类型为 int。

TagOrfPreviewImageLength

类型为 int。

TagOrfPreviewImageStart

类型为 int。

TagOrfThumbnailImage

类型未定义。

TagOrientation

类型为 int。

TagPhotometricInterpretation

类型为 int。

TagPixelXDimension

类型为 int。

TagPixelYDimension

类型为 int。

TagPlanarConfiguration

类型为 int。

TagPrimaryChromaticities

类型是合理的。

TagReferenceBlackWhite

类型是合理的。

TagRelatedSoundFile

类型为字符串。

TagResolutionUnit

类型为 int。

TagRowsPerStrip

类型为 int。

TagRw2Iso

类型为 int。

TagRw2JpgFromRaw

类型未定义。

TagRw2SensorBottomBorder

类型为 int。

TagRw2SensorLeftBorder

类型为 int。

TagRw2SensorRightBorder

类型为 int。

TagRw2SensorTopBorder

类型为 int。

TagSamplesPerPixel

类型为 int。

TagSaturation

类型为 int。

TagSceneCaptureType

类型为 int。

TagSceneType

类型为字符串。

TagSensingMethod

类型为 int。

TagSharpness

类型为 int。

TagShutterSpeedValue

类型是合理的。

TagSoftware

类型为字符串。

TagSpatialFrequencyResponse

类型为字符串。

TagSpectralSensitivity

类型为字符串。

TagStripByteCounts

类型为 int。

TagStripOffsets

类型为 int。

TagSubfileType

类型为 int。

TagSubjectArea

类型为 int。

TagSubjectDistance

类型为 double。

TagSubjectDistanceRange

类型为 int。

TagSubjectLocation

类型为 int。

TagSubsecTime

类型为字符串。

TagSubsecTimeDig

类型为字符串。

TagSubsecTimeDigitized

类型为字符串。

TagSubsecTimeOrig

类型为字符串。

TagSubsecTimeOriginal

类型为字符串。

TagThumbnailImageLength

类型为 int。

TagThumbnailImageWidth

类型为 int。

TagThumbnailOrientation

类型为 int。

TagTransferFunction

类型为 int。

TagUserComment

类型为字符串。

TagWhiteBalance

类型为 int。

TagWhitePoint

类型是合理的。

TagXmp

类型为 byte[]。

TagXResolution

类型是合理的。

TagYCbCrCoefficients

类型是合理的。

TagYCbCrPositioning

类型为 int。

TagYCbCrSubSampling

类型为 int。

TagYResolution

类型是合理的。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
DateTime

返回已 #TAG_DATETIME 分析的值;如果不可用或无效,则返回 -1。

DateTimeDigitized

返回已 #TAG_DATETIME_DIGITIZED 分析的值;如果不可用或无效,则返回 -1。

DateTimeOriginal

返回已 #TAG_DATETIME_ORIGINAL 分析的值;如果不可用或无效,则返回 -1。

GpsDateTime

返回自 1 月以来的毫秒数。

Handle

基础 Android 实例的句柄。

(继承自 Object)
HasThumbnail

如果图像文件具有缩略图,则返回 true。

IsThumbnailCompressed

如果缩略图为 JPEG 压缩,则返回 true;如果缩略图图像不存在或缩略图图像未压缩,则返回 false。

JniIdentityHashCode

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
JniPeerMembers

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

PeerReference

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThumbnailBitmap

根据字节数组和缩略图压缩值创建并返回缩略图图像的位图对象,或者 null 是否不支持压缩类型。

方法

Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
Dispose(Boolean)

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GetAltitude(Double)

以米为单位返回海拔高度。

GetAttribute(String)

返回指定标记的值,或者 null 图像文件中没有此类标记。

GetAttributeBytes(String)

返回图像文件中所请求标记的值的原始字节,或者 null 如果未包含标记。

GetAttributeDouble(String, Double)

返回指定为合理或包含双格式值的标记的双精度值。

GetAttributeInt(String, Int32)

返回指定标记的整数值。

GetAttributeRange(String)

返回图像文件中所请求标记的偏移量和长度,或者 null 标记不包含。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetLatLong(Single[])

将纬度和经度值存储在浮点数组中。

GetThumbnail()

返回图像文件中的 JPEG 压缩缩略图,或者 null 如果没有 JPEG 压缩缩略图。

GetThumbnailBytes()

返回图像文件中的缩略图字节,而不考虑缩略图的压缩类型。

GetThumbnailRange()

返回图像文件中缩略图的偏移量和长度,或者 null 如果没有缩略图或缩略图字节不连续存储。

HasAttribute(String)

如果图像文件定义了给定的属性,则返回 true。

IsSupportedMimeType(String)

返回 ExifInterface 当前是否支持从指定的 mime 类型读取数据。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SaveAttributes()

将标记数据保存到原始图像文件中。

SetAttribute(String, String)

设置指定标记的值。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
IJavaPeerable.Finalized()

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

GetJniTypeName(IJavaPeerable)

这是一个用于读取和写入各种图像文件格式的 Exif 标记的类。

适用于