Как встроить метаданные (например, JSON / XML) в файл изображения? - PullRequest
1 голос
/ 16 сентября 2011

В .NET предположим, что у меня есть приложение, которое может создавать и открывать изображение, метаданные которого определены в отдельном файле (т. Е. '.Json' / '. Xml').Было бы плюнуть или открыть файл метаданных с тем же именем, что и файл изображения.

Теперь, чтобы упростить распространение файлов изображений и метаданных, я хочу исключить дополнительный файл метаданных, чтобы пользователи могли открыть изображение и располагать всей необходимой информацией об изображении.Каковы некоторые из хороших стратегий для встраивания данных в сам файл изображения?

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

  • Визуальное вложение:
    • Данные, закодированные в виде 2D-штрих-кода, такие как QR Code , Матрица данных или PDF417 .
    • Данные, нарисованные в виде простого текста на изображении, полученные с помощью OCR
  • Внедрение формата:
    • Данные вставлены как JPEG комментарии / комментарии EXIF ​​
    • Данные вставлены как PNG текстовые блоки

Основные требования:

  • Данные могут быть в формате JSON, XML или двоичном формате, если они являются машиночитаемыми.
  • Данные могут быть в КБ, до нескольких десятков КБ.Чем больше, тем лучше.
  • Для визуального встраивания:
    • Данные должны хорошо противостоять определенной степени сжатия с потерями.
    • Форма «зоны» данных на холсте изображения должна иметь видгибкость, насколько это возможно, чтобы лучше использовать недвижимость изображения.
  • Поддержка всех распространенных форматов изображений.(bmp, jpg, png, gif и т. д.)
  • Если возможно, используйте библиотеки с открытым исходным кодом .NET.

Любой совет приветствуется.Спасибо!

1 Ответ

2 голосов
/ 17 сентября 2011

Один из способов сделать это - сохранить информацию в виде строки XML в части EXIF ​​файла .jpg, возможно, в поле UserComment (9286H) IFD EXIF.

Вот некоторыеинформация о загрузка и сохранение метаданных с помощью gdi + .

...