Как мне изменить название файла JPG, тему, комментарии и теги / ключевые слова? - PullRequest
4 голосов
/ 03 февраля 2011

Как мне отредактировать название файла JPG, тему, комментарии и теги / ключевые слова? *

Я уже пытался задать этот вопрос здесь :

The Exifпредоставленная информация была полезной, но в конце концов фактически не решила загадку, над которой я работал.Поэтому я под другим углом описываю желаемый результат:

Я хочу, чтобы мое приложение VB.NET позволяло мне редактировать следующие детали Jfile (см. Изображение):

Заголовок,Тема, комментарии и теги / Keyowrds

Кто-нибудь может объяснить, как редактировать эти поля через VB.net в Visual Studio?

РЕДАКТИРОВАНИЕ:

Конечная цель состоит в том, чтобы использовать созданный мной просмотрщик / редактор изображений для сортировки тысяч изображений случайных веб-мусоров, которые я собрал за эти годы.После просмотра изображения (скажем, «00001.jpg») и выяснения, что это такое (изображение «кот с потолка посылает сына») я хочу напечатать описание (уже сделано в форме).Когда я нажимаю клавишу ВВОД, я хочу переименовать файл (с «00001.jpg» на «floor-cat-send-son.jpg», затем заполните поля ключевых слов, заголовка, темы и комментариев теми же данными:кот отправляет сына ".

Это поможет с локальной индексацией и с моей (более поздней) автоматизацией ссылочной базы данных сервера SQL для использования с поиском по всему сайту на моем сайте. ЕДИНСТВЕННАЯ вещь, которую я не могу понятькак изменить эти четыре поля, как если бы я щелкнул файл правой кнопкой мыши и добавил ключевые слова.

1 Ответ

2 голосов
/ 03 февраля 2011

Я могу предложить вам только отправную точку, поскольку я не использую VB.Net и читаю только данные EXIF.В C #, если вы открываете файл в экземпляре System.Drawing.Image, используя:

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

Вы можете получить доступ к необработанным данным EXIF, используя image.GetPropertyItem(0x0112), где список всех доступных элементов свойств приведен здесь:

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, чтобы найти его.

...