php - 干预图像会降低调整大小时的图像质量

标签 php image laravel-4 gd intervention

我正在使用Intervention Image上传单个图像的两个版本(小和大)以在不同页面上显示。

用户始终上传 1000 x 1000 像素的图像,原始图像用于单个产品的产品页面,较小的版本用于“所有产品”页面。

这工作得很好,只是缩小的图像质量很差。它是像素化的。

我正在使用 Laravel 4.2。我的php版本是5.5.11。我正在本地主机上使用 Xampp 进行开发。我看过this question我很确定 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"));

You can see the difference between the stock test (original size 1000x1000) and testresize(300x300). They are being displayed at 218x218. 您可以看到stock test(原始尺寸1000x1000)和testresize(300x300)之间的差异。它们都以 218x218 显示。

最佳答案

我终于设法让 imagick 工作并将其更改为驱动程序。高质量的图像。 GD驱动是问题所在,解决办法是换成imagick驱动。 干杯!

关于php - 干预图像会降低调整大小时的图像质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29313811/

相关文章:

image - Cakephp 3.3 中的文件上传

javascript - 映射图片onClick事件加maphilight hover

Laravel-4 多态关系仅分配类型(而不是 ID)

php - App::singleton 和 bindShared 有什么区别?

javascript - 调整大小替换 Logo 功能与导航冲突

php - PDO 支持多个查询(PDO_MYSQL、PDO_MYSQLND)

iphone - 获取 Iphone 用户壁纸?

php - Laravel:分页流畅的查询

php - 使用ajax通过键盘中的向上/向下键选择元素以进行自动完成

PHP 获取一个月的周数