【问题标题】:How do I edit JPG File Title, Subject, Comments, and Tags/Keywords?如何编辑 JPG 文件标题、主题、评论和标签/关键字?
【发布时间】:2011-02-03 02:32:55
【问题描述】:

如何编辑 JPG 文件标题、主题、评论和标签/关键字?*

我已经试过问这个问题here

提供的 Exif 信息很有帮助,但最终并没有真​​正解决我正在研究的真正谜题。所以我会换个角度来描述想要的结果:

我希望我的 VB.NET 应用程序允许我编辑 Jfile 的以下详细信息(见图):

标题、主题、评论和标签/关键字

谁能解释如何在 Visual Studio 中通过 VB.net 编辑这些字段?

编辑:

最终目标是使用我构建的图像查看器/编辑器,对我多年来收集的数千张随机网络垃圾图像进行排序。 在查看图像(比如“00001.jpg”)并弄清楚它是什么(“天花板猫送儿子”的一只哈哈猫的图片)后,我想输入描述(已经在表格中完成)。当我按回车键时,我想重命名文件(从“00001.jpg”到“ceiling-cat-sends-son.jpg”,然后用相同的数据填写关键字、标题、主题和 cmets 字段:“ceiling猫送儿子”。

这将有助于本地索引和我(以后)自动化 SQL 服务器参考数据库,以便在我的网站上进行站点范围的搜索。我似乎无法弄清楚的唯一一件事是如何修改这四个字段,就好像我右键单击文件并添加了关键字一样。

【问题讨论】:

  • 虽然您当然可以直接修改图像标题,但我建议您创建单独的元数据记录。您可以创建一个记录来存储这些类型的信息,以及文件所在的路径。这样做的好处是能够执行搜索,而不必每次都检查每个图像文件的标题。
  • 明白。并同意。计划是通过目视检查一次重命名数千张图像中的每一张,然后输入描述。我可以轻松地将它推送到 SQL 数据库,但我只是希望同时将相同的数据添加到图像本身,所以我只遍历图像一次。这样,如果图像通过电子邮件发送到其他地方,仍然可以轻松找到。那么,有什么想法可以做到这一点吗?

标签: vb.net tags metadata keyword jpeg


【解决方案1】:

我只能为您提供一个起点,因为我不使用 VB.Net,我只读取 EXIF 数据。在 C# 中,如果您在 System.Drawing.Image 实例中使用以下命令打开文件:

Image image = System.Drawing.Image.FromFile("path/to/file.jpg");

您可以使用image.GetPropertyItem(0x0112) 访问原始 EXIF 数据,此处列出了所有可用属性项的列表:

http://msdn.microsoft.com/en-us/library/ms534418%28VS.85%29.aspx

同样,有一个image.SetPropertyItem(0x0112) 方法,但我认为这只会将其设置在内存中,并且您必须保存图像的副本才能将其写出。我认为您想要的是能够在不接触实际图像的情况下修改 EXIF,我不知道该怎么做。

使用元数据

正如我在评论中所说,我建议您创建一个包含此类信息的 Media 类,而不是编辑图像标题信息:

public class Media
{
    public string Title { get; set; }
    public string Subject { get; set; }
    public string Comments { get; set; }
    public string[] Tags { get; set; }
    public string PathToFile { get; set; }
}

然后您将把这条记录存储在数据库中,这样就很容易进行搜索。如果您需要实际文件,请使用PathToFile 属性来定位它。

【讨论】:

    猜你喜欢
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多