Я пытаюсь применить результат фильтра cue hue-rotate в PHP
В настоящее время я использую 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)
Для modulateImage в imagick требуется процент для $ hue, а для css — degres. Вот формула для преобразования: http://www.imagemagick.org/Usage/color_mods/#modulate_hue
hue_angle = ( modulate_arg - 100 ) * 180/100;
modulate_arg = ( hue_angle * 100/180 ) + 100;
Других решений пока нет …