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;
我正在尝试在 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;