2010-02-10 3 views
3

Я установил Jcaptcha на основе примера с сайта Jcaptcha, но мне нужно настроить jcaptcha по умолчанию с цветами и шрифтами.Как изменить конфигурацию поколения JCaptcha?

Мне удалось найти это Configuration Jcaptcha with Spring, однако это с использованием Spring. Я новичок в Java и не использую Spring, могу ли я узнать, как создать новую конфигурацию captcha для моего изображения jcaptcha?

Заранее спасибо.

+0

Просто взглянул на источник этой вещи jcaptcha, и это плохо спроектировано. Надеюсь, мне разрешат написать свои собственные. – Nils

ответ

2

Пример, на который вы указываете, действительно относится к Spring Framework. Но это не имеет особого значения. Я могу представить себе трудности, которые могут возникнуть, кто не знает, как работает инъекция зависимостей. Итак, это то же самое программно. Заметьте, я сокращу его для краткости.

  • Вам нужно создать ImageCaptchaFactory, от вашего данного URL ИТС, com.octo.captcha.image.gimpy.GimpyFactory
  • питания, что в ImageCaptchaEngine, в то время как инстанцировании расшифрованы двигатель, а именно com.octo.captcha.engine.GenericCaptchaEngine
  • А затем передать, что к вашим услугам капчи, com.octo.captcha.service.multitype.GenericManageableCaptchaService

Теперь о цветах и ​​шрифтах. Вам нужно будет предоставить информацию о цветах и ​​шрифтах на свой завод captcha. Как? Здесь,

  • Завод принимает аргументы типа объекта, генератор слов и слово-в-образ-композитора, которые соответственно, com.octo.captcha.component.wordgenerator.DictionaryWordGenerator и com.octo.captcha.component.image.wordtoimage.ComposedWordToImage
  • генератор Слово не имеет ничего общего с цветом и шрифты, поэтому мы оставили слово для композитора изображений. Таким образом, вам нужно предоставить эту информацию композитору при создании экземпляра, или, может быть, есть некоторые сеттеры для этого. Ознакомьтесь с документами
  • Пример показывает конфигурацию для генерации случайных шрифтов, если вы не хотите, чтобы она читала документы. Точно, что показано в примере там, вам нужно будет создать экземпляр 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
+0

Большое спасибо. Это действительно помогает. –

+0

Я рад, что это помогло –

Смежные вопросы