【发布时间】:2019-09-13 14:43:28
【问题描述】:
我一直在搜索 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 工作,而另一些人则希望得到更新的答案。任何帮助表示赞赏!
【问题讨论】:
-
@Danack 我已经尝试过使用各种压缩质量 - 似乎根本没有改变文件大小
标签: php compression imagick