如何使用php-gd将饱和度应用于照片


How to apply saturation to photo using php gd

我想使用php-gd对照片应用饱和度,但我只知道做图像编辑。我需要:

  1. 将BGR更改为HSL
  2. 做一些我不知道的事
  3. 将结果从HSL改回BGR

有人知道步骤2的逻辑/算法是什么吗?还有其他更好的方法可以在php中将饱和度应用于照片吗?

编辑:我所说的"应用饱和度"是指操纵/更改照片的饱和度,就像你在大多数图像编辑工具(如ipiccy.com)和Microsoft office 2010中的编辑照片功能中所做的那样,你可以更改滑块的值,然后照片的饱和度就会改变。我想用php编写代码来改变照片的饱和度,但我不知道如何开始。有人可以建议吗?非常感谢。

如果您正在寻找任何变换,您可以简单地将一条简单的曲线应用于饱和通道。由于应用的变换并不重要,因此可以使用一条简单的x^0.5曲线。

有关曲线的更多信息,请查看此维基百科条目。

如果你想知道如何实现x^0.5曲线,就在这里。将饱和度视为0到255的字节:

Satu[x, y] = (int)(sqrt(Satu[x, y] / 255.0) * 255.0);