Я использую nokiatech heif api (github.com/nokiatech/heif) для обработки heic-файлов, созданных бета-версиями IOS.
Я могу получить плитки и метаданные, такие как поворот и размеры, но я не могу определить дату захвата изображения. Я нашел некоторые функции отметок времени, но они жалуются на «Принудительный FPS не установлен для мета-контекста», что заставляет меня думать, что эти функции связаны с дорожками, а не с элементами.
Любая помощь будет оценена.
РЕДАКТИРОВАТЬ:
Так что в документации есть опечатка для getReferencedToItemListByType (и getReferencedFromItemListByType), он говорит, что принимает «cdcs» в качестве параметра referenceType. Это источник «cdsc» (Content Describe).
Таким образом, чтобы получить блоб метаданных из прежнего изображения, вы можете сделать следующее:
reader.getItemListByType(contextId, "grid", gridItemIds);
ImageFileReaderInterface::IdVector cdscItemIds;
reader.getReferencedToItemListByType(contextId, gridItemIds.at(0), "cdsc", cdscItemIds);
ImageFileReaderInterface::DataVector data;
reader.getItemData(contextId, cdscItemIds.at(0), data);
Затем вам нужно расшифровать exif. Вы можете легко использовать Exiftool Cli или API, как Exiv2.
Задача ещё не решена.
Других решений пока нет …