gpt4 book ai didi

php - 使用 ImageMagick (php) 将 RGB channel 合并回单个图像

转载 作者:可可西里 更新时间:2023-10-31 22:46:08 25 4
gpt4 key购买 nike

所以我遇到了 ImageMagick 和 php 的情况,我需要分别处理每个 RGB channel ,然后将它们合并回最终图像。所以在我下面的代码中,$red、$green 和 $blue 是 channel (作为灰度图像)。以下代码是我尝试过的代码(以及一些变体),但每次我最终得到的图像只有青色、洋红色或黄色显示出来。在本例中,生成的图像为青色。

$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

最佳答案

[编辑]我不得不承认,进一步查看文档,我不确定常量 CHANNEL_ALL 的作用。他们确实声明您可以通过逻辑或将它们连接在一起来连接 channel 。您可以尝试:

$im->combineImages(imagick::CHANNEL_RED | imagick::CHANNEL_GREEN | imagick::CHANNEL_BLUE);

[原创]我一直在研究这个 API,老实说,我认为您正在寻找的是转换函数,而不是组合函数。

查看下面提供的链接并特别单击“组合 RGB channel 图像” http://www.imagemagick.org/Usage/color_basics/

尝试一下,如果您需要进一步的帮助,请发表评论:-)

关于php - 使用 ImageMagick (php) 将 RGB channel 合并回单个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10837436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com