当前位置:  开发笔记 > 编程语言 > 正文

Laravel图像干预调整了质量损失

如何解决《Laravel图像干预调整了质量损失》经验,为你挑选了1个好方法。

在我的Laravel网络应用程序中,我使用了干预图像库.我保存上传图像的三个版本:'original','500_auto'和自定义尺寸的图像.

$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

调整大小的图像

如您所见,第二张图像在调整大小的图像中存在大量质量损失.我怎样才能解决这个问题?



1> Joel Hinz..:

您首先要将图像调整为小尺寸,然后再拍摄小图像并将其重新调整为原始尺寸.如果您颠倒订单,您将改为原始尺寸 - >原始尺寸 - >小尺寸.

就个人而言,我通常更喜欢重新Image::make()调用每个新图像的调用,只是为了确保我不会在此过程中将这样的东西搞砸.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有