PHP无损压缩JPG/PNG到WEBP的方法试验

C 2018-12-21 3254

<?php
function webp($old,$new){
$i=getimagesize($old);
switch($i['2']){
case 2:$o=imagecreatefromjpeg($old);break;
case 3:$o=imagecreatefrompng($old);break;
default:return false;break;
}
imagewebp($o,$new,100);
if(filesize($new)%2==1){file_put_contents('test_img.webp',"\0",FILE_APPEND);}
imagedestroy($o);
return true;

webp('0.jpg','0.webp');

这个我无损压缩一张20MB的图片到WEBP格式,体积缩小到11MB。

不过只在我自己Windows电脑上试验成功了,Linux服务器报错:

[21-Dec-2018 03:43:46 UTC] PHP Warning:  imagewebp(): gd-webp encoding failed in /www/test.php on line 9

排除内存不足问题,服务器性能远高于本人电脑。后续将试验Imagick方式转换。

已经放弃,速度实在太慢了,无法接受!

最新回复 (0)