package edu.umn.dspace.captcha; import com.octo.captcha.component.image.backgroundgenerator.*; import com.octo.captcha.component.image.fontgenerator.*; import com.octo.captcha.component.image.fontgenerator.FontGenerator; import com.octo.captcha.component.image.wordtoimage.ComposedWordToImage; import com.octo.captcha.component.image.wordtoimage.WordToImage; import com.octo.captcha.component.image.color.RandomRangeColorGenerator; import com.octo.captcha.component.image.textpaster.*; import com.octo.captcha.component.image.textpaster.RandomTextPaster; import com.octo.captcha.component.word.wordgenerator.WordGenerator; import com.octo.captcha.component.word.wordgenerator.RandomWordGenerator; import com.octo.captcha.engine.image.ListImageCaptchaEngine; import com.octo.captcha.image.gimpy.GimpyFactory; public class MyImageCaptchaEngine extends com.octo.captcha.engine.image.ListImageCaptchaEngine { protected void buildInitialFactories() { //word generator WordGenerator wgen = new RandomWordGenerator("ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789"); // make the color foir the letters in the word. 0 RandomRangeColorGenerator cgen = new RandomRangeColorGenerator( new int[] {0, 100}, new int[] {0, 100}, new int[] {0, 100}); // makes the double letter version of the captcha TextPaster randomPaster = new DoubleRandomTextPaster(new Integer(6), new Integer(8), cgen); BackgroundGenerator fileBack = new FunkyBackgroundGenerator (new Integer(200), new Integer(100)); FontGenerator shearedFont = new TwistedAndShearedRandomFontGenerator( new Integer(25), new Integer(35)); //word2image 1 com.octo.captcha.component.image.wordtoimage.WordToImage word2image = new com.octo.captcha.component.image.wordtoimage.ComposedWordToImage( shearedFont, fileBack, randomPaster); this.addFactory( new com.octo.captcha.image.gimpy.GimpyFactory(wgen, word2image)); } }