В нашем магазине программного обеспечения необходимо сортировать объявления переменных. На языке, который мы используем, несколько переменных могут появляться в одной строке.
new var1,var2,var3,etc
Это реальная боль, чтобы пройти и визуально попытаться отсортировать каждую переменную. Подсветка блока и команда сортировки в Vim - мои друзья здесь:
Это будет работать, только если в базовой системе существует команда 'sort'.
Вот спецификации для формата обмена Exif, если вы планируете кодировать свою собственную библиотеку для редактирования тегов.
http://www.exif.org/specifications.html
Вот библиотека, написанная на Perl, которая отвечает вашим потребностям, и вы, возможно, сможете учиться в ней:
http://www.sno.phy.queensu.ca/~phil/exiftool/
Вот достойный .NET библиотека для оценки Exif из The Code Project :
Вы можете сделать это без какой-либо внешней библиотеки:
// 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 с метаданными .
Библиотека exiv2net (оболочка .NET поверх exiv2) может быть тем, что вы ищете.