@Rigorbb

Почему увеличивается размер изображения после ресайза в Image Intervention?

Уменьшаю размер изображения с помощью Image Intervention:
$img = Image::make($image->getPathname());
  $img->widen(1350)->save($this->getNewDirecoryName($folder, $image));


Разрешение изображения уменьшается в раза 2, но размер почему-то растет раза в два. Уменьшение размера можно добиться только уменьшением качества:
$img->widen(1350)->save($this->getNewDirecoryName($folder, $image), 70);


Но тогда изображение будет в мыле. Гугля пробовал и такие экзотические варианты:
$img = Image::make($image->getPathname());
                $img->widen(1350, function($constraint) {
                    $constraint->aspectRatio();
                    $constraint->upsize();
                });
                $canvas = Image::canvas($img->getWidth(), $img->getHeight());
                $canvas->insert($img, 'center');
                $canvas->save($this->getNewDirecoryName($folder, $image));


Толку нет. Пробовал драйвера "gd" и "imagick". Подскажите в чем может быть проблема
  • Вопрос задан
  • 300 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AndreiSoroka
Края размываются, из-за этого становится больше цветов (сглаживание).
Можно использовать k-nearest, но тогда картинка будет при уменьшении будет становится квадратной (без сглаживания).
Так же можно попытаться уменьшить кол-во цветов: https://pngquant.org/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы