我有个疑问。如果我强制 imagejpeg 保存 .png 文件,会有问题吗?就像在这个例子中一样:
imagejpeg($img,$_SERVER['DOCUMENT_ROOT']."/test.png",80);
我想使用这种方法,因为我可以使用$quality
过滤器。在这种方法中,我保存了一个大约 25kb 的 .png 文件,但如果我使用 imagepng,我的图像大约为 200kb(我使用了 0-9 的 $quality 级别,但我没有看到任何变化,只有 -20 kb) . 我不想犯错,因为我的网站每秒都在生成 .png 图像。
方法 2。我尝试使用 pngquant 压缩 .png 图像,但是当我使用 imagepng 函数时,我不知道该怎么做。我尝试过这样的事情,但是如果我将图像传递给函数,它就不起作用。
ob_start();
imagepng($img);
$png = ob_get_clean();
file_put_contents($_SERVER['DOCUMENT_ROOT']."/test.png", compress($png);
function compresss($img)
{
//...
}
在其他情况下,如果我有$png = $_FILES['file']['tmp_name']
工作。那么有没有办法用 pngquant 进行压缩,或者如果我强制 imagejpeg 保存 .png 文件有问题吗?