在Drupal 7中动态过滤图像

问题描述

我正在尝试在Drupal 7中构建一个自定义模块,该模块允许用户上传图像并应用过滤器。特别是,我正在尝试调整对比度。用户可以通过HTML slidecontainer来调整对比度,该HTML imagefilter()可以调整图像上的CSS对比度。提交后,对比度值将发送到服务器,并通过GD库中的imagefilter()函数应用于图像。

我的问题是我无法使用GD库中的{{1}}方法复制结果CSS过滤器。

我调整CSS对比度值以与GD对比度值成比例,但是图像仍然不匹配。例如,scale for the CSS contrast function is

  • 完全灰色:0%
  • 不变:100%
  • 更多对比:+100%

the scale for GD is

  • 完全灰色:100
  • 不变:0
  • 最大对比度:-100

因此,GD对比度=(CSS对比度-100)* -1。

以下是CSS / PHP对比度值为25/75的示例照片:

CSS 25

PHP 75

和175 / -75:

CSS 175

PHP -75

我愿意接受其他建议,例如,如果这真的不可能,我可以重新考虑UI,或者是否可以在自定义模块中引用并向用户展示另一个模块。但是,我希望能够将对比度调整功能从CSS更改为GD,以更准确地反映前端的用户更改。

我还没有尝试使用其他值(例如亮度)进行此操作,但这似乎不是每个this SO问题的问题。

以下是关于sepiabrightness的其他一些类似的未解决的SO问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)