Php 如何调整图像大小

Php 如何调整图像大小,php,imagemagick,gd,Php,Imagemagick,Gd,如何在Linux中减少映像大小。我用ImageMagick来做这个。但它对gif图像效果不佳。我将其用作: 调整图像大小的步骤 exec("convert $original -resize " . $width . 'x' . $height . ' ' . $destination); 减少图像大小 exec("convert $original -quality 80% $new_img"); 请让我知道,如果你有任何方法,以减少图像大小。此代码适用于jpg,但不适用于gif图像 感谢

如何在Linux中减少映像大小。我用ImageMagick来做这个。但它对gif图像效果不佳。我将其用作:

调整图像大小的步骤

exec("convert $original -resize " . $width . 'x' . $height . ' ' . $destination);
减少图像大小

exec("convert $original -quality 80% $new_img");
请让我知道,如果你有任何方法,以减少图像大小。此代码适用于jpg,但不适用于gif图像


感谢您的帮助。

要减小GIF图像的大小,您可以尝试将其转换为PNG或减小颜色深度。颜色深度是图像中使用的颜色数。颜色越少,图像尺寸越小。

因此可以使用GD 引用

这意味着使用“质量级别”只能处理上述图像类型,其中不包括GIF

对于GIF,最简单的选择是使用
-colors
命令减少图像中使用的颜色数量。结果的质量在很大程度上取决于初始图像所包含的内容,我见过从256色减少到16色不会导致明显的质量损失的情况,还有一些情况下,减少到128色会导致图像无法使用。你必须进行实验

最后一句话:您可以将GIF转换为PNG格式,并在生成的图像上使用
-quality
命令。然而,PNG的质量有点用词不当:

对于MNG和PNG图像格式,质量值设置zlib压缩 级别(质量/10)和过滤器类型(质量%10)。默认PNG“质量” 为75,这意味着具有自适应PNG过滤的压缩级别为7,除非 图像有一个颜色映射,在这种情况下,它意味着压缩级别7,没有PNG 过滤


因此,如果PNG上的尺寸缩减比JPG上的要少,也不要感到惊讶,它只会改进无损PNG图像的压缩。

以下内容适用于JPEG图像,也可能适用于其他图像格式。给定的密度(300)非常高,适合保持文本可读性,因此请根据您的情况进行调整

convert input-file -density 300 -quality 50% output-file

“工作不好”到底是什么意思?你的意思是质量损失太大吗?定义为:“工作良好”。你会出错,还是会有奇怪的图像?Gif图像具有索引颜色表,并且无论如何都不能像您预期的那样调整大小。此外,还有一个直接从php使用Imagemagick的扩展,它的性能应该比执行外部程序要好得多……工作良好意味着它可以很好地减小图像大小,上面的程序中没有错误。对于gif图像,图像大小不像jpeg图像那样减小。
-quality value 
JPEG/MIFF/PNG compression level.
convert input-file -density 300 -quality 50% output-file