php - 将 CSS 滤镜亮度转换为 PHP IMG_FILTER_BRIGHTNESS

标签 php css filter gd

我的页面上有一张图像,下面有一个 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/

相关文章:

php - MySQL,如何使用时间戳减法?

php问题,怎么了?

php - 如何在 JavaScript 中将 PHP 文件名指定为变量值?

javascript - 尝试使用 jQuery 增加复选框的可点击区域

html - 元素之间有空格的任何原因吗?

python - 按列数据过滤 csv 行

dataframe - pyspark使用每个id的最小值过滤数据帧

php - 在 symfony 2 中创建动态树

html - 为什么 `max-width` 比 `min-width` 对于响应式电子邮件设计更好?

javascript - jQuery 过滤器,返回不同的 jQuery 对象(即 $(this).parent() )