使用以下Code-Snippet,我获得了.jpg图像的UniqueImageId。但是相同的代码对.tiff文件不起作用。有人有想法吗? THX
Image myImage = new Bitmap(@"C:\path\to\picture.tiff");
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
PropertyItem pi = myImage.GetPropertyItem(42016); // EXIF-Code -> UniqueImageID
string uniqueImageId = encoding.GetString(pi.Value, 0, 32);
答案 0 :(得分:0)
我的解决方案:
安装此NuGet-Package:http://bitmiracle.com/libtiff/ https://www.nuget.org/packages/BitMiracle.LibTiff.NET/
代码示例:
string uniqueImageId;
Tiff mytiff = Tiff.Open(absolutePath, "r");
FieldValue[] exifIFDTag = mytiff.GetField(TiffTag.EXIFIFD);
int exifIFDOffset = exifIFDTag[0].ToInt();
mytiff.ReadEXIFDirectory(exifIFDOffset);
FieldValue[] value = mytiff.GetField(TiffTag.EXIF_IMAGEUNIQUEID);
if (value != null)
{
for (int i = 0; i < value.Length; i++)
{
uniqueImageId = value[i].ToString();
}
}
mytiff.Close();