CSS `hue-rotate` 滤镜到 php

CSS `hue-rotate` filter to php

我正在尝试在 PHP

中应用 css 色调旋转滤镜结果

目前我正在使用 Imagick php 库,使用 modulateImage 函数来改变色调,像这样

function modulateImage($imagePath, $hue, $brightness, $saturation) {
  $imagick = new \Imagick(realpath($imagePath));
  $imagick->modulateImage($brightness, $saturation, $hue);
  header("Content-Type: image/jpg");
  echo $imagick->getImageBlob();
}

但由于某些原因,将 CSS 的 hue-rotate 的相同值应用到 PHP 函数会得到不同的颜色结果,我不确定在中使用的计算他们都是/百分比/度,我希望有人可以解释或为他们提供任何替代方案(主要是 PHP 的替代方案,我发现 CSS 过滤器非常适合我的需求,我只需要在 PHP )

imagick 中的 modulateImage 需要 $hue 的百分比,而 css 需要度数。这是要转换的公式:http://www.imagemagick.org/Usage/color_mods/#modulate_hue
hue_angle = ( modulate_arg - 100 ) * 180/100; modulate_arg = ( hue_angle * 100/180 ) + 100;