PHP ImageMagick 7.0缺少一些方法

PHP ImageMagick 7.0缺少一些方法,php,imagick,Php,Imagick,场景如下,在我的本地机器上,使用Ubuntu 18和旧版本的Imagick,我运行以下小脚本: <?php $imageX = new Imagick(); print_r( $imageX::getVersion() ); echo "<pre>";print_r(get_class_methods($imageX)); 结果: 数组[versionNumber]=>1687[versionString]=>ImageMagick 6.9.7-4 Q16 x86_64 20

场景如下,在我的本地机器上,使用Ubuntu 18和旧版本的Imagick,我运行以下小脚本:

<?php
$imageX = new Imagick();
print_r( $imageX::getVersion() );
echo "<pre>";print_r(get_class_methods($imageX));
结果: 数组[versionNumber]=>1687[versionString]=>ImageMagick 6.9.7-4 Q16 x86_64 20170114

排列 [0]=>使用371种方法优化ImageLayers->

现在,由于我想使用一些特殊功能,并且发现它们不在我的Amazon AMI服务器上,所以我在远程测试中安装了最新版本: slosarek.eu/api/web image/imagick.php

阵列[versionNumber]=>1800[versionString]=>ImageMagick 7.0.8-7 Q16 x86_64 2018-07-23

排列 [0]=>优化ImageLayers->341方法

新版本vs 6.9.7-4中还缺少大约30种方法。例如: orderedPosterizeImage不存在 抖动也不在那里,我正试图转换一些灰度图片在1位,以显示在Eink的东西

我肯定错过了什么!PHP版本是PHP7.0.30
我很想知道这里的问题是什么,或者只是新版本的Imagick没有那么多方法,我错过了新闻。

这些函数已经从IM6中删除/没有从Imagick 7中移植。您还可以看到PHP imagick模块的注释:

3.4.3RC1 -修正: *Imagick::transformImage和Imagick::orderedPosterizeImage现在已从中正确排除 IM7构建


在发布到Stackoverflow之前,您可能应该花一点时间阅读imagemagick变更日志,因为在这里您可以查看哪些内容可能发生了更改以及更改的原因。如果它不在那里,那么你有一些问题要问,但它在那里。也许这仍然在那里,可能有助于你的灰度到1位抖动。我查看了变更日志,但我知道只有PHP7.0中的一些函数被删除,而不是永久删除。事实上,我并没有找到一个简单的替代品来代替我在上一个版本中所做的一些事情。大多数仍然是允许的,但稍后可能会被删除。许多IM7具有不同名称的等价物,例如,matte被替换为alpha。我对ImageMagick第7版的Imagick更改不太了解。我仍然没有发现如何像第6版那样进行抖动,例如将灰度图像转换为1位并产生这种效果。事实上,我发现自己对这个新版本很迷茫……我必须重新学习它;