2010-02-10 54 views
3

我提出了一個基於JCaptcha的從JCaptcha的網站的例子,但我需要配置與顏色和字體的默認JCaptcha的。如何更改JCaptcha生成配置?

我設法找到這個Configuration Jcaptcha with Spring,但是這是使用Spring。我與Java是一個新手,並沒有使用Spring,我可以知道我能爲我的JCaptcha的圖像創建新的驗證碼的配置?

預先感謝您。

+0

只是看看這個jcaptcha的來源,它的設計不好......我希望我可以寫我自己的。 – Nils 2010-10-27 13:44:21

回答

2

你指向的例子是,的確,對於Spring框架。但這在這裏沒什麼關係。我可以想象人們可能遇到的困難,誰也不知道依賴注入是如何工作的。所以這裏以編程方式是相同的。請注意,爲了簡潔起見,我會簡短說明。

  • 您需要創建ImageCaptchaFactory,從給定的URL的,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
  • 字生成無關的顏色和字體,所以我們把這個詞留給了圖像作曲家。所以,你需要在實例化一個作曲者時提供這些信息,或者可能有一些製作者需要這樣做。退房的文檔
  • 的例子顯示了配置生成隨機的字體,如果你不想它閱讀文檔做。準確地說,什麼在那裏的例子所示,你需要與你選擇的可用字體創建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

非常感謝。這真的有幫助。 – 2010-02-10 06:51:26

+0

我很高興它有幫助 – 2010-02-10 09:16:59