Используя PEL (PHP EXIF ​​Library), есть ли способ удалить встроенный эскиз из данных EXIF ​​изображения?

Я работаю над проектом, который изменяет размеры изображений с помощью PHP. В этом проекте PEL используется для копирования данных EXIF ​​из исходного изображения в изображение с измененным размером. Тем не менее, при изменении размеров изображений, чтобы быть действительно маленьким, встроенные данные EXIF ​​содержат миниатюру, которая на самом деле намного больше, чем само изображение с измененным размером. Я хотел бы использовать PEL, чтобы удалить этот эскиз из данных EXIF, сохраняя при этом все остальные вкусности. Есть идеи?

2 ответа

Я уверен, что есть и другие способы, но самый простой способ, который я могу увидеть отсюда, это прочитать файл с помощью GD, вывести новое изображение и скопировать EXIF. Это ни в коем случае не простой процесс, но если вы уже делаете изменение размера, это имело бы некоторый смысл.

PEL немного несвежий. Если вы делаете это в любом реальном масштабе, вы можете захотеть поиграть с помощью простых скриптов Python. У вас есть доступ к гораздо лучшим графическим и EXIF-библиотекам, и вы можете создать сценарий для запуска в определенный период... Хотя я допускаю, что это может не соответствовать процессу обработки изображений вашего сайта.

Вам нужно будет использовать библиотеку обработки изображений, будет работать imagemagik (imagik) или gmagik.

По сути, вы бы захватили всю информацию, которую вы хотели через exif затем используйте $image -> stripimage() чтобы удалить ВСЕ метаданные, включая миниатюру, затем снова используйте gmagic, чтобы взять данные, которые вы извлекли через exif, чтобы добавить их обратно. ($image -> commentimage например).

Единственный улов заключается в том, что ни в одной документации не указано, будет ли изображение повторно добавлено в виде exif или какого-либо другого типа метаданных.

Другие вопросы по тегам