Как удалить exif из JPG без потери качества изображения?

У меня есть приложение для обмена фотографиями в PHP, в котором загруженные пользователем изображения изменяются в различные форматы большого пальца с помощью ImageMagick.

Как бы "умный" Чтобы сэкономить на размере файла, я удаляю exif информацию из этих превью следующим образом:

$imagick = new Imagick($image);
$imagick->stripImage();
$imagick->writeImage($image);

Это работает. Это действительно удаляет информацию EXIF, где большие пальцы 30 КБ экономят 12 КБ и становятся 18 КБ. Значительная экономия при отображении множества таких больших пальцев на одной странице.

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

Основываясь на моих исследованиях, моя теория состоит в том, что одно или оба из следующего верно:

Imagick выбрасывает важную информацию о цветовых профилях как часть процесса очисткиImagick сжимает изображение после сохранения, теряя качество

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

Это вообще возможно?

Обновить:

По мотивам Джеральда Шнайдераответ, я пытался установить настройку качества до 100% до "зачистки» изображение:

$imagick = new Imagick($image);
$imagick->setCompression(imagick::COMPRESSION_JPEG);
$imagick->setCompressionQuality(100);
$imagick->stripImage();
$imagick->writeImage($image);

К сожалению, проблема остается. Ниже приведен пример вывода, где, несмотря на установку качества на 100%, изображения все еще сглаживаются.

Ответы на вопрос(2)

Ваш ответ на вопрос