The example you are pointing to is, indeed, for Spring Framework. But thats is of little concern here. I can imagine the difficulty one might have, who has no idea about how dependency injection works. So here is the same thing programmatically. Note, I will cut it short for brevity.
- You need to create ImageCaptchaFactory, from your given URL its,
com.octo.captcha.image.gimpy.GimpyFactory
- Supply that to the ImageCaptchaEngine, while instantiating your captcha engine, namely
com.octo.captcha.engine.GenericCaptchaEngine
- And then pass that to your captcha service,
com.octo.captcha.service.multitype.GenericManageableCaptchaService
Now about the colors and fonts. You will need to give information about colors and fonts to your captcha factory. How? Here it is,
- The factory is taking to arguments of object type, word generator and word-to-image-composer, which are respectively,
com.octo.captcha.component.wordgenerator.DictionaryWordGenerator
and com.octo.captcha.component.image.wordtoimage.ComposedWordToImage
- Word generator has nothing to do with color and fonts, so we left with the word to image composer. So, you need to provide those informations to composer while instantiating one, or may be there are some setters to do that. Check out the docs
- The example is showing the config to generate random fonts, if you don't want it read the docs. Precisely, whats shown in the example there, you will need to create an instance of
com.octo.captcha.component.image.fontgenerator.RandomFontGenerator
with your choice of available fonts and pass that to the factory
- Quite similarly, you will be instantiating relevant color objects, look into
com.octo.captcha.component.image.backgroundgenerator.UniColorBackgroundGenerator
for background color, and com.octo.captcha.component.image.color.SingleColorGenerator
for color
- For random colors look at,
com.octo.captcha.component.image.color.RandomRangeColorGenerator