Я пытаюсь использоватьИзменение JPEG метаданных без рекомпрессии изображения в прошивкой
CGImageSourceCreateWithData CGImageDestinationCreateWithData
, а затем
CGImageDestinationAddImageFromSource
но отбрасывает любые эскизы или другую встроенную информацию в исходном файле , То, что я хочу сделать, - это прочитать в файле, изменить его метаданные и записать его только с изменениями. Но я соглашусь все прочесть и вернуть его обратно. Прямо сейчас файл изображения размером 1,2 МБ преобразуется в файл 437 КБ с потерей дополнительных данных.
Есть ли что-то иное, чем CGImage, которое я могу использовать? Можно ли это сделать с помощью API iOS?
Я не уверен, что понимаю, что вы говорите user3344003. Теперь я читаю jpeg-файл как NSData, создавая из него imageSource, затем читаю imageProperties, внося изменения и записывая эти измененные изображения. Процесс кажется успешным, когда я просматриваю файл извне и просматриваю его метаданные и изображение, но размер файла значительно уменьшается. У него также нет встроенного эскиза. –
Вам также понадобится скопировать метаданные. Процесс зависит от формата файла, используемого для хранения метаданных. – user3344003
Свойства изображения - это метаданные, не так ли? Помимо метаданных EXIF, JFIF, TIFF, IPTC и GPS, возвращаемых в свойствах, какие существуют другие метаданные? Можете ли вы объяснить, что именно я должен искать, и что мне с этим делать? Формат файла, используемый для хранения изображения, идентичен формату изображения файла, который я читаю. В этом случае JPEG. Какие еще параметры у UTI я должен указать формат? –