そのため、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 のドキュメントに結合イメージの使用方法があまり記載されておらず、私が見つけることができる限りサンプルがないことだと思います。したがって、その特定の方法を間違って使用している可能性が非常に高く、最初に単一の Imagick オブジェクトで画像を組み合わせる方法に関係していると思われます。
編集
この質問は最終的に次のようになります: php のみを使用して次のスクリプトを再作成するにはどうすればよいですか?
convert tmp_r.png tmp_g.png tmp_b.png -combine tmp_rgb.png