所以我有一个 ImageMagick 和 php 的情况,我需要分别处理每个 RGB 通道,然后将它们重新合并到最终图像中。所以在我下面的代码中,$red、$green 和 $blue 是通道(作为灰度图像)。以下代码是我尝试过的(以及一些变体),但每次我最终得到的图像只有青色、洋红色或黄色显示。在这种情况下,生成的图像是青色的。
$im->removeImage();
$im->addImage($red);
$im->addImage($green);
$im->addImage($blue);
$img = $im->combineImages(self::CHANNEL_ALL);
$im->removeImage();
$im->removeImage();
$im->removeImage();
$im->addImage($img);
我认为我的部分问题是 PHP 文档没有太多说明如何使用 combineImages 并且据我所知没有示例。因此,我很可能错误地使用了该特定方法,并且我怀疑这与我如何在单个 Imagick 对象中组合图像开始有关。
编辑
这个问题最终归结为:如何仅使用 php 重新创建以下脚本?
convert tmp_r.png tmp_g.png tmp_b.png -combine tmp_rgb.png