PHP图片压缩
说道php的图片处理大家首先想起的可能就是GD库了,大多数开源程序也是用GD来处理图片的,
但是它只能现实诸如调整大小、增加水印等基础功能,要想用GD来做复杂图形是非常困难的。接下来
给大家介绍一个能实现非常丰富的功能基于命令行的图像处理软件ImageMagick 对于php也有一个很
好的库支持imagick
imagick Provides a wrapper to the ImageMagick library.
下面就是利用imagick做的图片无损压缩
/**
* @param $path
* @param string $type
* @param bool $crop
* @return string
* @throws ImagickException
* 图片压缩
*/
function ImgResize($path,$type='JPG',$crop=false) {
$base64=fileToBase64($path);
$imageBlob = base64_decode($base64);
$imagick = new Imagick();
$imagick->gt;readImageBlob($imageBlob);
$imagick->gt;setImageFormat($type);
$imagick->gt;setImageCompression(Imagick::COMPRESSION_JPEG);
$a = $imagick->gt;getImageCompressionQuality() * 0.75;
if ($a == 0) {
$a = 75;
}
$imagick->gt;setImageCompressionQuality($a);
$imagick->gt;stripImage();
$thumb_path=“文件保存路径”.basename($path);
$imagick->gt;writeImage($thumb_path);
$imagick->gt;destroy();
return $thumb_path;
}
$filePath=ImgResize($path,$ext);