Php 带有imagick驱动程序的图像将大小调整为较小的图像,从而提供较大的文件大小
我正在调整项目中的大图像大小以创建缩略图。以下是一个例子: 原始图像(1160 x 773): 缩略图(400 x 266): 问题是,大图像是732kb,我认为这是可以理解的,因为它的大小是大的,但第二个图像仍然是573kb 这是正常的还是有什么问题 以下是我调整大小的代码:Php 带有imagick驱动程序的图像将大小调整为较小的图像,从而提供较大的文件大小,php,image,laravel-5,imagick,intervention,Php,Image,Laravel 5,Imagick,Intervention,我正在调整项目中的大图像大小以创建缩略图。以下是一个例子: 原始图像(1160 x 773): 缩略图(400 x 266): 问题是,大图像是732kb,我认为这是可以理解的,因为它的大小是大的,但第二个图像仍然是573kb 这是正常的还是有什么问题 以下是我调整大小的代码: \Intervention\Image\Facades\Image::make($originalPath) ->resize($resized_width, $resized_height, func
\Intervention\Image\Facades\Image::make($originalPath)
->resize($resized_width, $resized_height, function($constraint){
$constraint->aspectRatio();
$constraint->upsize();
})
->save($thumbnailPath, 85);
试试这段代码,你会得到一个小尺寸的宽高比图像
$configpath = 'Path of destination';
$width = ($width)?$width:200;
$height = ($height)?$height:200;
$img = Image::canvas($width, $height);
$image = Image::make($path)->resize($width, $height, function ($c) {
$c->aspectRatio();
$c->upsize();
});
// insert resized image centered into background
$img->insert($image, 'center');
$img->save($configpath.$width.'x'.$height.'_'.$filename);
这是正常的。对缩略图使用质量30。但是如果质量是30,它不会产生模糊的图像吗?另外,这是一个特例,因为我已经用相同的代码和几乎相同的大小调整了100多个图像的大小,但它们的文件大小远远小于这一个。当调整到缩略图大小时,它们中的大多数只有70kb。我想我有10张这样的图片,我甚至已经将质量设置为0。这是非常模糊和像素化的,但大小仍然离500kb不远。你应该将这些细节添加到问题中。对此我很抱歉。但是,当图像大小调整到图像大小的一半以上时,文件大小仍然接近原始大小,这难道不是很奇怪吗?我只是觉得这样的问题会更简单。这些有问题的图片,它们来自不同的格式吗?真棒的人!谢谢你的帮助。我已经在我的本地机器上试过了,它工作正常。稍后我会在我的服务器上尝试,如果输出相同,我会将其标记为正确答案。作为将来的参考,这次我使用了gd驱动程序而不是imagick。