Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP大小调整后的图像具有更大的文件大小_Php_Gd - Fatal编程技术网

PHP大小调整后的图像具有更大的文件大小

PHP大小调整后的图像具有更大的文件大小,php,gd,Php,Gd,有没有人能解决这个问题?我认为这一形象已经得到了优化。然后,它被调整大小,并摆脱其优化,尽管图片被缩小。文件大小会增加 以前有人见过这个吗 我有一个图像,保存在50%的质量。如果我复制->调整大小->以70%保存,它将获得80Kb 有没有一种解决方案可以让我在图像进入之前检测图像的质量 function resize($width,$height) { $new_image = imagecreatetruecolor($width, $height); imagesaveal

有没有人能解决这个问题?我认为这一形象已经得到了优化。然后,它被调整大小,并摆脱其优化,尽管图片被缩小。文件大小会增加

以前有人见过这个吗

我有一个图像,保存在50%的质量。如果我复制->调整大小->以70%保存,它将获得80Kb

有没有一种解决方案可以让我在图像进入之前检测图像的质量

function resize($width,$height) {
    $new_image = imagecreatetruecolor($width, $height);

    imagesavealpha($new_image, true);
    $trans_colour = imagecolorallocatealpha($new_image, 0, 0, 0, 127);
    imagefill($new_image, 0, 0, $trans_colour); 

    imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
    $this->image = $new_image;
}

...

imagejpeg($this->image,$filename,$compression);

从技术上讲,转换的质量率不是从jpeg数据中推导出来的,它只是告诉转换器在大小和质量之间进行权衡

但是,有些转换器将其存储在JPEG头的EXIF数据中,因此如果仍然存在,您可以将其与JPEG头一起使用,并查看是否返回压缩信息。

Pelle ten Cate指出,即使在没有EXIF数据的情况下保存文件,ImageMagick也可以确定质量。