2009-09-08 165 views
3

我正在使用我的简单PHP验证码算法(http://www.source.ofitall.com/devel/captcha.php),我一直在努力尝试并将其调整为更具吸引力且更易于阅读的Google样式验证码。PHP功能弯曲/扭曲图像

有没有人知道一个功能,将采取GD图像参考和弯曲/扭曲,谷歌风格?

+0

我试着寻找这个验证码的来源:http://www.captcha.ru/en/kcaptcha/,它确实有我想要的,但我有麻烦把它的翘曲代码放入一个包含的函数。 – Sherri 2009-09-16 19:02:59

回答

3

如果你可以在你的服务器上使用ImageMagick的,你可能想给this一试:

convert koala.gif -background Blue -wave 10x64 wave.jpg 

UPDATE

如果不使用某些库你会明显有写你自己的实现。

这里有一些建议,你可以上找到有用的信息:

  • 如果你是更多的家伙手看一下这个免费的Java实现的SwimFilterWarpFilter,可以是下载here

  • 然后有一个解释2样条捣蛋算法,可能做你想要的东西here

  • Here对可能适合您需求的算法(Microsoft doc文件)有很好的概述。

你应该知道,这不是容易实现的东西。但如果你对这个话题感兴趣,并且确实真的需要在没有ImageMagick的情况下生活,那么这是你唯一的机会(据我所知)。

然后还有GD的糟糕表现..

祝你好运! :-)

+0

我喜欢这一点,并且我在其他项目中使用过ImageMagick。然而,这个验证码脚本旨在成为一个可以使用的PHP脚本,我不想让ImageMagick成为一个需求。我见过使用正弦波移动图像中像素的算法......我想知道是否有这样的功能。 – Sherri 2009-09-09 13:12:33

+0

迄今为止我尝试过的每个主机都支持ImageMagick。我理解你的担忧,但我认为性能与最小可能的需求权衡是相当大的。我敦促你考虑一下,如果你真的需要使用GD来做到这一点。 – 2009-09-09 13:55:40

+0

是的,虽然ImageMagick几乎在所有的主机上,但我试图将这个CAPTCHA脚本作为一个独立的PHP函数来分发。所以虽然你的解决方案是一个明显而简单的解决方案,但我正在寻找GD功能。 – Sherri 2009-09-16 19:02:17