Java 如何更改JCaptcha生成配置?
我已经基于Jcaptcha站点的示例创建了一个Jcaptcha,但是我需要使用颜色和字体配置默认的Jcaptcha 我设法找到了这个,但是这是使用Spring的。我是Java新手,不使用Spring,我可以知道如何为我的jcaptcha映像创建新的captcha配置吗Java 如何更改JCaptcha生成配置?,java,captcha,Java,Captcha,我已经基于Jcaptcha站点的示例创建了一个Jcaptcha,但是我需要使用颜色和字体配置默认的Jcaptcha 我设法找到了这个,但是这是使用Spring的。我是Java新手,不使用Spring,我可以知道如何为我的jcaptcha映像创建新的captcha配置吗 提前感谢您。您所指的示例实际上是针对Spring框架的。但这在这里并不重要。我可以想象一个人可能会遇到的困难,他不知道依赖注入是如何工作的。因此,这里是同样的事情编程。请注意,为了简洁起见,我将把它缩短 您需要从给定的URL创建
提前感谢您。您所指的示例实际上是针对Spring框架的。但这在这里并不重要。我可以想象一个人可能会遇到的困难,他不知道依赖注入是如何工作的。因此,这里是同样的事情编程。请注意,为了简洁起见,我将把它缩短
- 您需要从给定的URL创建ImageCaptchFactory,
com.octo.captcha.image.gimpy.GimpyFactory
- 将其提供给ImageCaptchaEngine,同时实例化您的验证码引擎,即
com.octo.captcha.engine.GenericCaptchaEngine
- 然后将其传递给您的验证码服务,
com.octo.captcha.service.multitype.GenericManageableCaptchaService
- 工厂采用两个参数,对象类型为单词生成器和单词到图像生成器,分别为
和com.octo.captcha.component.wordgenerator.DictionaryWordGenerator
com.octo.captcha.component.image.wordtoimage.ComposedWordToImage
- Word生成器与颜色和字体无关,所以我们只使用Word-to-image composer。因此,您需要在实例化时向composer提供这些设置,或者可能有一些设置器可用。查看文档
- 该示例显示了生成随机字体的配置,如果您不希望它读取文档。准确地说,正如示例中所示,您需要使用您选择的可用字体创建
com.octo.captcha.component.image.fontgenerator.RandomFontGenerator的实例,并将其传递给工厂
- 同样,您将实例化相关的颜色对象,查看
了解背景色,查看com.octo.captcha.component.image.backgroundgenerator.UniColorBackgroundGenerator
了解颜色com.octo.captcha.component.image.color.SingleColorGenerator
- 对于随机颜色,请查看,
com.octo.captcha.component.image.color.RandomRangeColorGenerator
非常感谢。这真的很有帮助。只是看了一下jcaptcha的来源,它的设计很糟糕。。我希望我能写我自己的。