Table of Contents

Class ExifData

Namespace
CompactExifLib
Assembly
VintagestoryAPI.dll
public class ExifData
Inheritance
ExifData
Inherited Members
Extension Methods

Constructors

ExifData(Stream, ExifLoadOptions)

public ExifData(Stream ImageStream, ExifLoadOptions Options = (ExifLoadOptions)0)

Parameters

ImageStream Stream
Options ExifLoadOptions

ExifData(string, ExifLoadOptions)

public ExifData(string FileNameWithPath, ExifLoadOptions Options = (ExifLoadOptions)0)

Parameters

FileNameWithPath string
Options ExifLoadOptions

Fields

IfdShift

public const int IfdShift = 16

Field Value

int

ImageType

public ImageType ImageType

Field Value

ImageType

Properties

ByteOrder

public ExifByteOrder ByteOrder { get; }

Property Value

ExifByteOrder

MakerNoteOriginalOffset

public int MakerNoteOriginalOffset { get; }

Property Value

int

Methods

ComposeTagSpec(ExifIfd, ExifTagId)

public static ExifTag ComposeTagSpec(ExifIfd Ifd, ExifTagId TagId)

Parameters

Ifd ExifIfd
TagId ExifTagId

Returns

ExifTag

Empty()

public static ExifData Empty()

Returns

ExifData

EnumerateNextTag(out ExifTag)

public bool EnumerateNextTag(out ExifTag TagSpec)

Parameters

TagSpec ExifTag

Returns

bool

ExifReadUInt16(byte[], int)

public ushort ExifReadUInt16(byte[] Data, int StartIndex)

Parameters

Data byte[]
StartIndex int

Returns

ushort

ExifReadUInt32(byte[], int)

public uint ExifReadUInt32(byte[] Data, int StartIndex)

Parameters

Data byte[]
StartIndex int

Returns

uint

ExifWriteUInt16(byte[], int, ushort)

public void ExifWriteUInt16(byte[] Data, int StartIndex, ushort Value)

Parameters

Data byte[]
StartIndex int
Value ushort

ExifWriteUInt32(byte[], int, uint)

public void ExifWriteUInt32(byte[] Data, int StartIndex, uint Value)

Parameters

Data byte[]
StartIndex int
Value uint

ExtractIfd(ExifTag)

public static ExifIfd ExtractIfd(ExifTag TagSpec)

Parameters

TagSpec ExifTag

Returns

ExifIfd

ExtractTagId(ExifTag)

public static ExifTagId ExtractTagId(ExifTag TagSpec)

Parameters

TagSpec ExifTag

Returns

ExifTagId

GetDateChanged(out DateTime)

public bool GetDateChanged(out DateTime Value)

Parameters

Value DateTime

Returns

bool

GetDateDigitized(out DateTime)

public bool GetDateDigitized(out DateTime Value)

Parameters

Value DateTime

Returns

bool

GetDateTaken(out DateTime)

public bool GetDateTaken(out DateTime Value)

Parameters

Value DateTime

Returns

bool

GetGpsAltitude(out decimal)

public bool GetGpsAltitude(out decimal Value)

Parameters

Value decimal

Returns

bool

GetGpsDateTimeStamp(out DateTime)

public bool GetGpsDateTimeStamp(out DateTime Value)

Parameters

Value DateTime

Returns

bool

GetGpsLatitude(out GeoCoordinate)

public bool GetGpsLatitude(out GeoCoordinate Value)

Parameters

Value GeoCoordinate

Returns

bool

GetGpsLongitude(out GeoCoordinate)

public bool GetGpsLongitude(out GeoCoordinate Value)

Parameters

Value GeoCoordinate

Returns

bool

GetTagByteCount(ExifTagType, int)

public static int GetTagByteCount(ExifTagType TagType, int ValueCount)

Parameters

TagType ExifTagType
ValueCount int

Returns

int

GetTagRawData(ExifTag, out ExifTagType, out int, out byte[])

public bool GetTagRawData(ExifTag TagSpec, out ExifTagType TagType, out int ValueCount, out byte[] RawData)

Parameters

TagSpec ExifTag
TagType ExifTagType
ValueCount int
RawData byte[]

Returns

bool

GetTagRawData(ExifTag, out ExifTagType, out int, out byte[], out int)

public bool GetTagRawData(ExifTag TagSpec, out ExifTagType TagType, out int ValueCount, out byte[] RawData, out int RawDataIndex)

Parameters

TagSpec ExifTag
TagType ExifTagType
ValueCount int
RawData byte[]
RawDataIndex int

Returns

bool

GetTagType(ExifTag, out ExifTagType)

public bool GetTagType(ExifTag TagSpec, out ExifTagType TagType)

Parameters

TagSpec ExifTag
TagType ExifTagType

Returns

bool

GetTagValue(ExifTag, out ExifRational, int)

public bool GetTagValue(ExifTag TagSpec, out ExifRational Value, int Index = 0)

Parameters

TagSpec ExifTag
Value ExifRational
Index int

Returns

bool

GetTagValue(ExifTag, out DateTime, ExifDateFormat)

public bool GetTagValue(ExifTag TagSpec, out DateTime Value, ExifDateFormat Format = ExifDateFormat.DateAndTime)

Parameters

TagSpec ExifTag
Value DateTime
Format ExifDateFormat

Returns

bool

GetTagValue(ExifTag, out int, int)

public bool GetTagValue(ExifTag TagSpec, out int Value, int Index = 0)

Parameters

TagSpec ExifTag
Value int
Index int

Returns

bool

GetTagValue(ExifTag, out string, StrCoding)

public bool GetTagValue(ExifTag TagSpec, out string Value, StrCoding Coding)

Parameters

TagSpec ExifTag
Value string
Coding StrCoding

Returns

bool

GetTagValue(ExifTag, out uint, int)

public bool GetTagValue(ExifTag TagSpec, out uint Value, int Index = 0)

Parameters

TagSpec ExifTag
Value uint
Index int

Returns

bool

GetTagValueCount(ExifTag, out int)

public bool GetTagValueCount(ExifTag TagSpec, out int ValueCount)

Parameters

TagSpec ExifTag
ValueCount int

Returns

bool

GetThumbnailImage(out byte[], out int, out int)

public bool GetThumbnailImage(out byte[] ThumbnailData, out int ThumbnailIndex, out int ThumbnailByteCount)

Parameters

ThumbnailData byte[]
ThumbnailIndex int
ThumbnailByteCount int

Returns

bool

IfdExists(ExifIfd)

public bool IfdExists(ExifIfd Ifd)

Parameters

Ifd ExifIfd

Returns

bool

ImageFileBlockExists(ImageFileBlock)

public bool ImageFileBlockExists(ImageFileBlock BlockType)

Parameters

BlockType ImageFileBlock

Returns

bool

InitTagEnumeration(ExifIfd)

public bool InitTagEnumeration(ExifIfd Ifd)

Parameters

Ifd ExifIfd

Returns

bool

RemoveAllTags()

public void RemoveAllTags()

RemoveAllTagsFromIfd(ExifIfd)

public bool RemoveAllTagsFromIfd(ExifIfd Ifd)

Parameters

Ifd ExifIfd

Returns

bool

RemoveDateChanged()

public void RemoveDateChanged()

RemoveDateDigitized()

public void RemoveDateDigitized()

RemoveDateTaken()

public void RemoveDateTaken()

RemoveGpsAltitude()

public void RemoveGpsAltitude()

RemoveGpsDateTimeStamp()

public void RemoveGpsDateTimeStamp()

RemoveGpsLatitude()

public void RemoveGpsLatitude()

RemoveGpsLongitude()

public void RemoveGpsLongitude()

RemoveImageFileBlock(ImageFileBlock)

public void RemoveImageFileBlock(ImageFileBlock BlockType)

Parameters

BlockType ImageFileBlock

RemoveTag(ExifTag)

public bool RemoveTag(ExifTag TagSpec)

Parameters

TagSpec ExifTag

Returns

bool

RemoveThumbnailImage(bool)

public void RemoveThumbnailImage(bool RemoveAlsoThumbnailTags)

Parameters

RemoveAlsoThumbnailTags bool

ReplaceAllTagsBy(ExifData)

public void ReplaceAllTagsBy(ExifData SourceExifData)

Parameters

SourceExifData ExifData

Save(Stream, Stream, ExifSaveOptions)

public void Save(Stream SourceStream, Stream DestStream, ExifSaveOptions SaveOptions = (ExifSaveOptions)0)

Parameters

SourceStream Stream
DestStream Stream
SaveOptions ExifSaveOptions

Save(string, ExifSaveOptions)

public void Save(string DestFileNameWithPath = null, ExifSaveOptions SaveOptions = (ExifSaveOptions)0)

Parameters

DestFileNameWithPath string
SaveOptions ExifSaveOptions

SetDateChanged(DateTime)

public bool SetDateChanged(DateTime Value)

Parameters

Value DateTime

Returns

bool

SetDateDigitized(DateTime)

public bool SetDateDigitized(DateTime Value)

Parameters

Value DateTime

Returns

bool

SetDateTaken(DateTime)

public bool SetDateTaken(DateTime Value)

Parameters

Value DateTime

Returns

bool

SetGpsAltitude(decimal)

public bool SetGpsAltitude(decimal Value)

Parameters

Value decimal

Returns

bool

SetGpsDateTimeStamp(DateTime)

public bool SetGpsDateTimeStamp(DateTime Value)

Parameters

Value DateTime

Returns

bool

SetGpsLatitude(GeoCoordinate)

public bool SetGpsLatitude(GeoCoordinate Value)

Parameters

Value GeoCoordinate

Returns

bool

SetGpsLongitude(GeoCoordinate)

public bool SetGpsLongitude(GeoCoordinate Value)

Parameters

Value GeoCoordinate

Returns

bool

SetTagRawData(ExifTag, ExifTagType, int, byte[], int)

public bool SetTagRawData(ExifTag TagSpec, ExifTagType TagType, int ValueCount, byte[] RawData, int RawDataIndex = 0)

Parameters

TagSpec ExifTag
TagType ExifTagType
ValueCount int
RawData byte[]
RawDataIndex int

Returns

bool

SetTagValue(ExifTag, ExifRational, ExifTagType, int)

public bool SetTagValue(ExifTag TagSpec, ExifRational Value, ExifTagType TagType, int Index = 0)

Parameters

TagSpec ExifTag
Value ExifRational
TagType ExifTagType
Index int

Returns

bool

SetTagValue(ExifTag, DateTime, ExifDateFormat)

public bool SetTagValue(ExifTag TagSpec, DateTime Value, ExifDateFormat Format = ExifDateFormat.DateAndTime)

Parameters

TagSpec ExifTag
Value DateTime
Format ExifDateFormat

Returns

bool

SetTagValue(ExifTag, int, ExifTagType, int)

public bool SetTagValue(ExifTag TagSpec, int Value, ExifTagType TagType, int Index = 0)

Parameters

TagSpec ExifTag
Value int
TagType ExifTagType
Index int

Returns

bool

SetTagValue(ExifTag, string, StrCoding)

public bool SetTagValue(ExifTag TagSpec, string Value, StrCoding Coding)

Parameters

TagSpec ExifTag
Value string
Coding StrCoding

Returns

bool

SetTagValue(ExifTag, uint, ExifTagType, int)

public bool SetTagValue(ExifTag TagSpec, uint Value, ExifTagType TagType, int Index = 0)

Parameters

TagSpec ExifTag
Value uint
TagType ExifTagType
Index int

Returns

bool

SetTagValueCount(ExifTag, int)

public bool SetTagValueCount(ExifTag TagSpec, int ValueCount)

Parameters

TagSpec ExifTag
ValueCount int

Returns

bool

SetTagValueCount(ExifTag, int, ExifTagType)

public bool SetTagValueCount(ExifTag TagSpec, int ValueCount, ExifTagType TagType)

Parameters

TagSpec ExifTag
ValueCount int
TagType ExifTagType

Returns

bool

SetThumbnailImage(byte[], int, int)

public bool SetThumbnailImage(byte[] ThumbnailData, int ThumbnailIndex = 0, int ThumbnailByteCount = -1)

Parameters

ThumbnailData byte[]
ThumbnailIndex int
ThumbnailByteCount int

Returns

bool

TagExists(ExifTag)

public bool TagExists(ExifTag TagSpec)

Parameters

TagSpec ExifTag

Returns

bool

ThumbnailImageExists()

public bool ThumbnailImageExists()

Returns

bool