Вмешательство Изображение ухудшает качество изображения при изменении размера

Я использую Изображение вмешательства, чтобы загрузить две версии (маленькую и большую) одного изображения для отображения на разных страницах.

Пользователь всегда загружает изображение размером 1000 x 1000 пикселей, и оригинал используется на странице одного продукта, а уменьшенная версия — на странице «все продукты».

Это работает нормально, за исключением того, что изображение, размер которого уменьшается, имеет ужасное качество. Он пиксельный.

Я использую Laravel 4.2. Моя версия php 5.5.11. И я разрабатываю с Xampp на моем локальном хосте. Я просмотрел этот вопрос и я почти уверен, что GD установлен.

Это потому, что GD не так хорош, как imagick? Потому что я ни за что не могу установить эту штуку...

РЕДАКТИРОВАТЬ: Это было проблемой! Наконец-то мне удалось заставить imagick работать и изменить его на драйвер. Изображения отличного качества.

Вот мой маршрут, хотя я не думаю, что проблема в этом:

$file = Input::file('photo');
$fileName = Input::get('name').'.'.$file->getClientOriginalExtension();
$fileName= str_replace(' ', '_', $fileName);
$destinationPath    = 'productphotos/';

// upload new image
Image::make($file->getRealPath())
// original
->save($destinationPath.$fileName)
// resize
->resize(300, 300) // set true if you want proportional image resize
->save($destinationPath.'resize'.$fileName, 100);



    $aDetails = Input::all();
    $aDetails["photo"] = $fileName;
    $aDetails["smallphoto"] = 'resize'.$fileName;
    Product::create($aDetails);

    return Redirect::to("products/".Input::get("product_id"));

Вы можете увидеть разницу между стандартным тестом (исходный размер 1000x1000) и тестовым размером (300x300). Они отображаются в разрешении 218x218.  . Вы можете увидеть разницу между стандартным тестом (исходный размер 1000x1000) и testresize (300x300). Они оба отображаются в разрешении 218x218.


person thomas jaunism    schedule 28.03.2015    source источник


Ответы (1)


Наконец-то мне удалось заставить imagick работать и изменить его на драйвер. Изображения отличного качества. Драйвер GD был проблемой, и решение заключалось в том, чтобы перейти на драйвер imagick. Ваше здоровье!

person thomas jaunism    schedule 28.03.2015
comment
Большое спасибо. Была аналогичная проблема с белым фоном, который не был белым после загрузки. перешел на imagick и решил проблему. Примечание для конфигурации laravel image.intervention.io/getting_started/installation Опубликуйте конфигурацию и отредактируйте в config/ изображение.php - person cjmling; 26.03.2016
comment
У меня та же проблема, но ваш ответ не ясен, не могли бы вы объяснить, как вы это исправили? @Томас - person Kolawole Emmanuel Izzy; 03.02.2021