Редактировать: Этот ответ устарел. По состоянию на июль 2017 года PNG поддерживает фрагменты EXIF. exiftool
может редактировать фрагменты PNG, но Windows Explorer, по-видимому, все еще не поддерживает фрагменты PNG. См. Комментарии posfan12 и lukeuser ниже.
TL; DR: PNG не ранее не поддерживал метаданные EXIF (когда был задан вопрос)
Хотя PNG может встраивать фрагменты метаданных, стандартные форматы метаданных, такие как EXIF, IPTC или XMP, не поддерживаются для PNG. Смотрите следующие ресурсы:
Существует несколько приложений и библиотек программного обеспечения, которые могут читать и записывать фрагменты встроенного текста, в том числе в Windows:
«Автор» - это зарезервированное ключевое слово для tEXt
/ zTXt
чанков , но читатели PNG не обязаны соблюдать зарезервированные ключевые слова для этих чанков. Расширение встроенной оболочки Windows, отображающее информацию об изображении, не полностью поддерживает ключевые слова «Автор» в чанках tEXt
/ zTXt
. Даже если вы вставите ключ «Автор» в текстовые блоки, нет гарантии, что обычный пользователь Windows сможет его увидеть.
Редактировать: Кроме того, могут существовать несколько кусков, используя те же ключевые слова снова. Из ссылки на libpng.org выше
Автор Имя автора изображения. Если исходное изображение представляло собой картину или другой неэлектронный носитель, в списке может быть указан как автор оригинала, так и человек, отсканировавший изображение.
Таким образом, авторы спецификации PNG предполагали свободный, гибкий способ встраивания всевозможной информации. Но, как это было реализовано в 1990-х годах, спецификации PNG недостаточно для написания надежного программного обеспечения, которое использует, считывает или использует больше метаданных, чем вы видите.
Также по той же ссылке на libpng.org выше: «Набор символов Unicode UTF-8 был одним из элементов в дизайне PNG, который был отклонен». UTF-8 не был хорошо поддержан ни одной из основных системных библиотек и операционных систем в то время. Поскольку разработчики PNG хотели полагаться на стабильные, проверенные технологии, когда они разрабатывали спецификацию PNG, они приняли разумное решение не использовать ее. Таким образом, блоки tEXt
используют набор символов Latin-1 (ISO / IEC 8859-1). В итоге был добавлен блок iTXt
, который использует набор символов Unicode, вроде : ключевые слова в фрагментах iTXt
кодируются в наборе символов Latin-1; значения в чанках - это Unicode. Это было сделано для того, чтобы существующие реализации PNG, написанные до введения блока iTXt
, могли читать заголовки и ключевые слова блока и пропускать текст, который они не могли проанализировать, прочитать или отобразить.
В конечном счете, поскольку в спецификации PNG не применялось больше тегов метаданных, чем было, авторы программного обеспечения PNG не имели гарантии, что такие теги, как «Автор», будут проанализированы и прочитаны другими реализациями PNG. Отсутствие широкого внедрения таких тегов означало, что не было критической массы изображений PNG, в которых были данные, и, таким образом, у нового программного обеспечения PNG и новых версий существующего программного обеспечения PNG не было причин писать программное обеспечение для плохо определенных тегов, и цикл увековечивается. Таким образом, мы находимся в том состоянии, в котором мы находимся сегодня: слабая спецификация формата метаданных PNG (частично обусловленная отсутствием надежного способа представления данных незападных символов) привела к отсутствию спроса на поддержку таких тегов, как «Автор».