我的页面上有一张图像,下面有一个 HTML 范围 slider 。当我移动 slider 时,jQuery 会更改图像的 CSS 滤镜亮度。
例如,我可以使用 CSS 将亮度降低 10%、20%、将亮度加倍到 200% 等。效果很好。
我希望 **PHP **(GD) 使用 IMG_FILTER_BRIGHTNESS
应用亮度更改。问题是 IMG_FILTER_BRIGHTNESS
不使用百分比,它使用 0 表示 100%,255 表示纯白色,-255 表示纯黑色。
有谁知道如何将 slider 上选择的值转换为 PHP 所需的相应值?
最佳答案
假设范围像这样相互关联:
| black | no change | white
-----|-------+-----------+-------
CSS | 0 | 1 | 2
-----+-------+-----------+-------
PHP | -255 | 0 | 255
您可以用 PHP 进行简单的计算:
$brightness = (255 - (255 * $css)) * -1;
结果:
- 如果
$css == 1
(100%),则$brightness == 0
。 - 如果
$css == 0
(0%),则$brightness == -255
。 - 如果
$css == .5
(50%),则$brightness == -127.5
。 - 如果
$css == 1.2
(120%),则$brightness == 51
。
关于php - 将 CSS 滤镜亮度转换为 PHP IMG_FILTER_BRIGHTNESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44179933/