В моем веб-приложении Laravel я использую Intervention Image library. Я сохраняю три версии загруженного изображения: 'original'
, '500_auto'
и изображение нестандартного размера.Laravel Image Intervention изменяет размер потери качества
$image = Image::make(Input::file('file');
// Save the orignal image
$image->save($folder . 'original.' . $extension);
// Save 500_auto image
$image->resize(500, null, function($constraint) {
$constraint->aspectRatio();
});
$image->save($folder . '500_auto.' . $extension, 100);
// Check if size is set
if (isset($config->images->width) && isset($config->images->height)) {
// Assign values
$width = $config->images->width;
$height = $config->images->height;
// Create the custom thumb
$image->resize($width, $height, function($constraint) {
$constraint->aspectRatio();
});
$image->save($folder . $width . '_' . $height . '.' . $extension, 100);
}
Водитель вмешательства устанавливается в конфигурации, как 'gd'
:
'driver' => 'gd'
Это изображение я загрузки: original.jpg
И это результат из пользовательского большого пальца с настройками конфигурации, установленными для точных исходных размеров (1800 x 586): 1800_586.jpg
Как вы можете увидеть второе изображение есть много потерь качества в измененном изображении. Как я могу это исправить?
Спасибо за вашу помощь. Очень логично, что он изменил размер до небольшой версии и изменил размер до 1800х586 после этого. Я обновил метод, напомнив изображение :: make() перед каждым изменением размера, как и вы упомянули. – guuspor
Добро пожаловать. Я рад, что это помогло. :) –
Хорошая строка для создания нового 'Image :: make()' для каждого изменения размера. Вот почему причиной размытия изображения является функция изменения размера. –