Java 如何更改JCaptcha生成配置?

Java 如何更改JCaptcha生成配置?,java,captcha,Java,Captcha,我已经基于Jcaptcha站点的示例创建了一个Jcaptcha,但是我需要使用颜色和字体配置默认的Jcaptcha 我设法找到了这个,但是这是使用Spring的。我是Java新手,不使用Spring,我可以知道如何为我的jcaptcha映像创建新的captcha配置吗 提前感谢您。您所指的示例实际上是针对Spring框架的。但这在这里并不重要。我可以想象一个人可能会遇到的困难,他不知道依赖注入是如何工作的。因此,这里是同样的事情编程。请注意,为了简洁起见,我将把它缩短 您需要从给定的URL创建

我已经基于Jcaptcha站点的示例创建了一个Jcaptcha,但是我需要使用颜色和字体配置默认的Jcaptcha

我设法找到了这个,但是这是使用Spring的。我是Java新手,不使用Spring,我可以知道如何为我的jcaptcha映像创建新的captcha配置吗


提前感谢您。

您所指的示例实际上是针对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映像 检查此页面,然后您可以通过更改颜色生成器、字体生成器、背景生成器和文字生成器来配置验证码


非常感谢。这真的很有帮助。只是看了一下jcaptcha的来源,它的设计很糟糕。。我希望我能写我自己的。