该过滤式参数值IMG_FILTER_CONTRAST什么数值,可以为。
Answer 1:
之间-255和255
MG_FILTER_CONTRAST过滤器,可以改变图像的对比度,并且只需一个参数为-255到255之间的对比度值。 较低的值增加图片的对比度,实质上降低了颜色的数量,以便他们更独立的和明显的眼球。 使用正值带来的颜色与灰色混合它们紧密联系起来,直到255你有一个完整的灰色画面。
资源
Answer 2:
即使文档指出-255到+255,它不是! 它应该是-100到+100。 但是,有一个更深层次的问题:
PHP不限制到100它通过直通到底层LIB-GD与你指定的任何数目。 LIB-GD也在范围不限制到100,所以无论您使用的数对像素有直接的影响。
在LIB-GD,下面的公式来计算对比度:
(100.0-contrast)/100.0
:你可以在这里看到自己这一点https://bitbucket.org/libgd/gd-libgd/src/cdea9eb0ad01/src/gd_filter.c
这个公式是应该把你所要求的PHP对比度(0到100之间)转换成0和1之间的数字。
问题是,因为范围是永远不会得到确认,但对范围之外号的mathmatically怪异的效果。
如果您在PHP输入90,LIB-GD转换,为0.9,并使用数字应用对比算法。 说得通。 但是 ,如果你输入2000,LIB-GD现在在它的对比算法,这是完全不同的使用-19。
首先,你会注意到的任何值高于100 或低于-100有增加 ,因为数学的对比, 同样的效果 。
为了实现“绝对”的对比效果,即移动的所有像素的图片,以0或255,25600是你想要的号码。 与值127的像素将变成0,并且与值128的像素将变成255。
如果你想使图像完全平坦的颜色(尤其是如果你先申请一个灰阶过滤器,你会得到全黑和白)这可能是有用的。
我不会依赖于这种行为,但因为PHP或LIB-GD可能开始限制新版本的范围内。
所以,在效果:
- 的范围
IMG_FILTER_CONTRAST
是-25600到25600 - 上面和下面的号码也不会拒绝,但不能进一步影响的像素。
- 低于-100号再次成为积极的,即-100 === +100
- 随着数字进入成千上万的,因为像素是如此成倍非常接近其最大视觉差异是次要的。