我一直在浏览stackoverflow以及PHP / Imagick文档,以便让它正常工作。我在我的服务器上存储了PNG图像,然后将它们返回给我的iOS应用程序。我需要将它们返回为调整大小和裁剪后的图像,因此我正在使用Imagick。到目前为止,我已经做到了以下几点:
$image_name = $_POST['filepath'];
if(!file_exists($image_name)){ return ""; }
header("Content-Type: image/png");
$image = new Imagick($image_name);
$image->resizeImage($_POST['width'], $_POST['height'], Imagick::FILTER_LANCZOS, 1);
$image->roundCorners($_POST['width'], $_POST['height']);
$image->setImageFormat("png");
$image->setImageCompression(\Imagick::COMPRESSION_UNDEFINED);
$image->setImageCompressionQuality(0);
$image->stripImage();
echo $image;
对于setImageCompression,我已经尝试了此处列出的每个压缩常量:http://php.net/manual/en/imagick.constants.php,因为没有特定的PNG压缩常量,但它们似乎都不能改变文件大小。(有没有一个特定的用于PNG的压缩常量?)我也尝试更改setImagesCompressionQuality中的值,但似乎这些更改都没有任何区别。我看到有些人从未能使Imagick工作,而有些人则可以,希望得到更更新的答案。感谢任何帮助!