Библиотека C#.NET для перезаписи Exif без потерь? [закрытый]

В нашем магазине программного обеспечения необходимо сортировать объявления переменных. На языке, который мы используем, несколько переменных могут появляться в одной строке.

new var1,var2,var3,etc

Это реальная боль, чтобы пройти и визуально попытаться отсортировать каждую переменную. Подсветка блока и команда сортировки в Vim - мои друзья здесь:

  1. Переместите курсор на первую переменную, которую нужно отсортировать.
  2. Введите команду v, чтобы войти в визуальный режим.
  3. Переместите курсор в конец последней переменной, которая будет отсортирована, в моем случае я ввожу $, чтобы перейти к концу строки).
  4. Выполните команду! Sort, чтобы Vim отсортировал выделенный текст.

Это будет работать, только если в базовой системе существует команда 'sort'.

11
задан Peter Mortensen 30 November 2009 в 22:58
поделиться

3 ответа

Вот спецификации для формата обмена Exif, если вы планируете кодировать свою собственную библиотеку для редактирования тегов.

http://www.exif.org/specifications.html

Вот библиотека, написанная на Perl, которая отвечает вашим потребностям, и вы, возможно, сможете учиться в ней:

http://www.sno.phy.queensu.ca/~phil/exiftool/

Вот достойный .NET библиотека для оценки Exif из The Code Project :

http://www.codeproject.com/KB/graphics/exiftagcol.aspx

9
ответ дан 3 December 2019 в 05:13
поделиться

Вы можете сделать это без какой-либо внешней библиотеки:

// Create image.
Image image1 = Image.FromFile("c:\\Photo1.jpg");

// Get a PropertyItem from image1. Because PropertyItem does not
// have public constructor, you first need to get existing PropertyItem
PropertyItem propItem = image1.GetPropertyItem(20624);

// Change the ID of the PropertyItem.
propItem.Id = 20625;

// Set the new PropertyItem for image1.
image1.SetPropertyItem(propItem);

// Save the image.
image1.Save("c:\\Photo1.jpg", ImageFormat.Jpg);

Список всех возможных идентификаторов PropertyItem (включая exif) вы можете найти здесь .

Обновление: Согласен, этот метод перекодирует изображение при сохранении. Но я вспомнил еще один метод, в WinXP SP2 и более поздних версиях добавлены новые компоненты обработки изображений - WIC, и вы можете использовать их для записи метаданных без потерь - Практическое руководство: перекодировать изображение JPEG с метаданными .

9
ответ дан 3 December 2019 в 05:13
поделиться

Библиотека exiv2net (оболочка .NET поверх exiv2) может быть тем, что вы ищете.

4
ответ дан 3 December 2019 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: