在 Imagick (PHP) 中,我如何在不改变 alpha(透明)的情况下取反?

In Imagick (PHP), how can i negate without changing the alpha (transparent)?

在 Imagick 中,当我在具有 alpha 通道 (png) 的图像中使用“negateImage”时,imagick 无法很好地处理透明度。我想保持透明度,只否定“彩色”像素。

Origin image

Desired image

我该怎么做?

尝试指定要否定的特定频道:

$imagick->negateImage(false, imagick::CHANNEL_RED | imagick::CHANNEL_GREEN | imagick::CHANNEL_BLUE);

以上假定为 RGB 图像。