ExifPackage
内容
 [
        
            隐藏
        ]
    ExifPackage class
表示一个EXIF元数据包(可交换图像文件格式)。
public class ExifPackage : ExifDictionaryBasePackage
构造函数
| 姓名 | 描述 | 
|---|---|
| ExifPackage() | 初始化一个新的实例 ExifPackage类. | 
特性
| 姓名 | 描述 | 
|---|---|
| Artist { get; set; } | 获取或设置相机所有者、摄影师或图像创建者的姓名。 | 
| Copyright { get; set; } | 获取或设置版权声明。 | 
| Count { get; } | 获取元数据属性的数量。 | 
| DateTime { get; set; } | 获取或设置图像创建的日期和时间。 在 EXIF 标准中,它是文件被更改的日期和时间。 | 
| ExifIfdPackage { get; } | 获取 EXIF IFD 数据。 | 
| GpsPackage { get; } | 获取 GPS 数据。 | 
| ImageDescription { get; set; } | 获取或设置图片标题的字符串。 可以是“1988公司野餐”之类的注释。 | 
| ImageLength { get; set; } | 获取或设置图像数据的行数。 | 
| ImageWidth { get; set; } | 获取或设置图像数据的列数,等于每行的像素数。 | 
| Item { get; } | 获取指定id的TIFF标签。 (2 indexers) | 
| Keys { get; } | 获取元数据属性名称的集合。 | 
| Make { get; set; } | 获取或设置记录设备的制造商。 这是生成图像的 DSC、扫描仪、视频数字转换器或其他设备的制造商。 | 
| MetadataType { get; } | 获取元数据类型。 | 
| Model { get; set; } | 获取或设置设备的型号名称或型号编号。 这是生成图像的 DSC、扫描仪、视频数字转换器或其他设备的型号名称或编号。 | 
| PropertyDescriptors { get; } | 获取描述符集合,其中包含有关可通过 GroupDocs.Metadata 搜索引擎访问的属性的信息。 | 
| Software { get; set; } | 获取或设置用于生成图像的相机或图像输入设备的软件或固件的名称和版本。 | 
| Thumbnail { get; } | 获取表示为字节数组的图像缩略图。 | 
方法
| 姓名 | 描述 | 
|---|---|
| AddProperties(Func<MetadataProperty, bool>, PropertyValue) | 添加满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 | 
| Clear() | 删除存储在包中的所有 TIFF 标签。 | 
| Contains(string) | 确定包是否包含具有指定名称的元数据属性。 | 
| virtual FindProperties(Func<MetadataProperty, bool>) | 查找满足指定谓词的元数据属性。 搜索是递归的,因此它也会影响所有嵌套包。 | 
| GetEnumerator() | 返回一个遍历集合的枚举器。 | 
| Remove(TiffTagID) | 删除具有指定 id 的属性。 | 
| virtual RemoveProperties(Func<MetadataProperty, bool>) | 删除满足指定谓词的元数据属性。 | 
| virtual Sanitize() | 从包中删除可写元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 | 
| Set(TiffTag) | 添加或替换指定的标记。 | 
| SetProperties(Func<MetadataProperty, bool>, PropertyValue) | 设置满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 此方法是以下方法的组合 AddProperties和UpdateProperties如果现有属性满足谓词,则更新其值。 如果包中缺少满足谓词的已知属性,则将其添加到包中。 | 
| ToList() | 从包中创建一个列表。 | 
| UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) | 更新满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 | 
评论
了解更多
例子
此代码示例演示了如何更新常见的 EXIF 属性。
using (Metadata metadata = new Metadata(Constants.InputJpeg))
{
    IExif root = metadata.GetRootPackage() as IExif;
    if (root != null)
    {
        // 如果缺少 EXIF 包,则设置它
        if (root.ExifPackage == null)
        {
            root.ExifPackage = new ExifPackage();
        }
        root.ExifPackage.Copyright = "Copyright (C) 2011-2022 GroupDocs. All Rights Reserved.";
        root.ExifPackage.ImageDescription = "test image";
        root.ExifPackage.Software = "GroupDocs.Metadata";
        // ...
        root.ExifPackage.ExifIfdPackage.BodySerialNumber = "test";
        root.ExifPackage.ExifIfdPackage.CameraOwnerName = "GroupDocs";
        root.ExifPackage.ExifIfdPackage.UserComment = "test comment";
        // ...
        metadata.Save(Constants.OutputJpeg);
    }
}