如何使用 ImageMagick convert in php 来替换颜色?

How to use ImageMagick convert in php to replace a color?

我在命令行中使用 ImageMagick 来替换颜色:

convert input.jpg -fuzz 5% -fill red -opaque 'rgba(176,180,182, 1.0)' output.jpg

我如何在 php 中执行此操作?

谢谢

您可以使用 PHP 函数 shell_exec(命令):

shell_exec("convert input.jpg -fuzz 5% -fill red -opaque 'rgba(176,180,182, 1.0)' output.jpg")

谨防注入攻击。

与PHP的Imagick, opaque method Imageick::opaquePaintImage都可以使用。

$img = new Imagick('source.png');
$target = 'rgba(176,180,182, 1.0)';
$fill = 'red';
$fuzz = 0.05 * $img->getQuantumRange()['quantumRangeLong'];
$img->opaquePaintImage($target, $fill, $fuzz, false, Imagick::CHANNEL_DEFAULT);