将 CSS 滤镜亮度转换为 PHP IMG_FILTER_BRIGHTNESS
convert CSS filter brightness to PHP IMG_FILTER_BRIGHTNESS
我的页面上有一张图片,下面有一个 HTML 范围滑块。当我移动滑块时,jQuery 会改变图像的 CSS 滤镜亮度。
所以我可以获得 CSS 将亮度降低 10%、20%、将亮度加倍至 200% 等。效果很好。
我想要 **PHP **(GD) 使用 IMG_FILTER_BRIGHTNESS
应用亮度变化。问题是 IMG_FILTER_BRIGHTNESS
不使用百分比,它使用 0 表示 100%,255 表示纯白色,-255 表示纯黑色。
有谁知道如何将滑块上选择的值转换为 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
.
我的页面上有一张图片,下面有一个 HTML 范围滑块。当我移动滑块时,jQuery 会改变图像的 CSS 滤镜亮度。
所以我可以获得 CSS 将亮度降低 10%、20%、将亮度加倍至 200% 等。效果很好。
我想要 **PHP **(GD) 使用 IMG_FILTER_BRIGHTNESS
应用亮度变化。问题是 IMG_FILTER_BRIGHTNESS
不使用百分比,它使用 0 表示 100%,255 表示纯白色,-255 表示纯黑色。
有谁知道如何将滑块上选择的值转换为 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
.