Я использую Изображение вмешательства, чтобы загрузить две версии (маленькую и большую) одного изображения для отображения на разных страницах.
Пользователь всегда загружает изображение размером 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) и testresize (300x300). Они оба отображаются в разрешении 218x218.