package com.mhss.engine;
import java.awt.Color;
import java.awt.Font;
import com.octo.captcha.component.image.backgroundgenerator.BackgroundGenerator;
import com.octo.captcha.component.image.backgroundgenerator.FileReaderRandomBackgroundGenerator;
import com.octo.captcha.component.image.backgroundgenerator.FunkyBackgroundGenerator;
import com.octo.captcha.component.image.color.RandomListColorGenerator;
import com.octo.captcha.component.image.color.SingleColorGenerator;
import com.octo.captcha.component.image.fontgenerator.FontGenerator;
import com.octo.captcha.component.image.fontgenerator.RandomFontGenerator;
import com.octo.captcha.component.image.fontgenerator.TwistedRandomFontGenerator;
import com.octo.captcha.component.image.textpaster.DecoratedRandomTextPaster;
import com.octo.captcha.component.image.textpaster.TextPaster;
import com.octo.captcha.component.image.textpaster.textdecorator.BaffleTextDecorator;
import com.octo.captcha.component.image.textpaster.textdecorator.TextDecorator;
import com.octo.captcha.component.image.wordtoimage.ComposedWordToImage;
import com.octo.captcha.component.word.wordgenerator.RandomWordGenerator;
import com.octo.captcha.engine.image.ListImageCaptchaEngine;
import com.octo.captcha.image.ImageCaptchaFactory;
import com.octo.captcha.image.gimpy.GimpyFactory;
/**
*
* 生成验证码的参数配置
*
* @author 梦幻逝水
*
*/
public class SampleListImageCaptchaEngine extends ListImageCaptchaEngine {
public SampleListImageCaptchaEngine() {
super();
}
/** 图片宽度 */
private static final int IMAGE_WIDTH = 80;
/** 图片高度 */
private static final int IMAGE_HEIGHT = 28;
/** 最小字体大小 */
private static final int MIN_FONT_SIZE = 12;
/** 最大字体大小 */
private static final int MAX_FONT_SIZE = 16;
/** 最小字符个数 */
private static final int MIN_WORD_LENGTH = 4;
/** 最大字符个数 */
private static final int MAX_WORD_LENGTH = 4;
/** 随机字符 */
private static final String CHAR_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
/** 随机背景图片路径 */
private static final String BACKGROUND_IMAGE_PATH = "com/mhss/captcha/";
/**
* 随机字体
*/
private static final Font[] FONTS = new Font[] { new Font("nyala", Font.BOLD, MAX_FONT_SIZE),
new Font("Arial", Font.BOLD, MAX_FONT_SIZE), new Font("nyala", Font.BOLD, MAX_FONT_SIZE),
new Font("Bell", Font.BOLD, MAX_FONT_SIZE), new Font("Bell MT", Font.BOLD, MAX_FONT_SIZE),
new Font("Credit", Font.BOLD, MAX_FONT_SIZE), new Font("valley", Font.BOLD, MAX_FONT_SIZE),
new Font("Impact", Font.BOLD, MAX_FONT_SIZE) };
/**
* 随机颜色
*/
private static final Color[] COLORS = new Color[] { new Color(255, 255, 255),
new Color(255, 220, 220), new Color(220, 255, 255),
new Color(220, 220, 255), new Color(255, 255, 220),
new Color(220, 255, 220) };
/**
* 验证码图片生成
*/
protected void buildInitialFactories() {
FontGenerator fontGenerator = new RandomFontGenerator(MIN_FONT_SIZE, MAX_FONT_SIZE, FONTS);
BackgroundGenerator backgroundGenerator = new FileReaderRandomBackgroundGenerator(IMAGE_WIDTH, IMAGE_HEIGHT,
BACKGROUND_IMAGE_PATH);
TextPaster textPaster = new DecoratedRandomTextPaster(MIN_WORD_LENGTH, MAX_WORD_LENGTH,
new RandomListColorGenerator(COLORS), new TextDecorator[] {});
//addFactory(new GimpyFactory(new RandomWordGenerator(CHAR_STRING),new ComposedWordToImage(fontGenerator, backgroundGenerator, textPaster)));
//修改成使用我们改写的方法进行验证。
addFactory(new MyGimpyFactory(new RandomWordGenerator(CHAR_STRING),new ComposedWordToImage(fontGenerator, backgroundGenerator, textPaster)));
}
/**
* 验证码图片生成
*/
protected void buildInitialFactories2() {
//DecoratedRandomTextPaster 的第一个参数用于设置验证码最少字符数,
//第二个参数为最多的字符数,第三个参数 SingleColorGenerator 为字体颜色,这里为黑色,
//TextDecorator 为干扰设置,这里是一个字符一个干扰点,并且干扰点为白色。
TextPaster textPaster = new DecoratedRandomTextPaster(MIN_WORD_LENGTH,
MAX_WORD_LENGTH , new SingleColorGenerator(Color.BLACK),
new TextDecorator[] { new BaffleTextDecorator(new Integer(1), Color.WHITE) });
//在 ImageCaptchaFactory 中,第一个参数设置了随机字库,
//在第二个参数中,TwistedRandomFontGenerator 设置了生成的字符字体,
//FunkyBackgroundGenerator 则用于生成干扰背景,除了设置字体大小外,还需要设置生成的图片大小。
/*ImageCaptchaFactory factory = new GimpyFactory(new RandomWordGenerator(CHAR_STRING),
new ComposedWordToImage(new TwistedRandomFontGenerator(MIN_FONT_SIZE, MAX_FONT_SIZE),
new FunkyBackgroundGenerator(IMAGE_WIDTH, IMAGE_HEIGHT), textPaster)); */
//修改成使用我们改写的方法进行验证。
ImageCaptchaFactory factory = new MyGimpyFactory(new RandomWordGenerator(CHAR_STRING),
new ComposedWordToImage(new TwistedRandomFontGenerator(MIN_FONT_SIZE, MAX_FONT_SIZE),
new FunkyBackgroundGenerator(IMAGE_WIDTH, IMAGE_HEIGHT), textPaster));
ImageCaptchaFactory characterFactory[] = { factory};
addFactories(characterFactory);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
java通过JCaptcha生成验证码 (151个子文件)
SampleListImageCaptchaEngine.class 4KB
MyGimpyFactory.class 3KB
CaptchaValidationServlet.class 3KB
ValidateServlet.class 3KB
SampleImageCaptchaService2.class 1KB
MyGimpy.class 1KB
SampleImageCaptchaService.class 666B
.classpath 624B
org.eclipse.wst.common.component 483B
org.eclipse.wst.jsdt.ui.superType.container 49B
commons-collections-3.2.1.jar 562KB
jcaptcha-1.0-all.jar 341KB
commons-logging-1.1.1.jar 59KB
SampleListImageCaptchaEngine.java 5KB
ValidateServlet.java 3KB
MyGimpyFactory.java 2KB
CaptchaValidationServlet.java 2KB
SampleImageCaptchaService2.java 2KB
MyGimpy.java 961B
SampleImageCaptchaService.java 483B
captcha_bg_31.jpg 1KB
captcha_bg_31.jpg 1KB
captcha_bg_17.jpg 1KB
captcha_bg_17.jpg 1KB
captcha_bg_34.jpg 1022B
captcha_bg_34.jpg 1022B
captcha_bg_14.jpg 1008B
captcha_bg_14.jpg 1008B
captcha_bg_16.jpg 995B
captcha_bg_16.jpg 995B
captcha_bg_24.jpg 962B
captcha_bg_24.jpg 962B
captcha_bg_52.jpg 935B
captcha_bg_52.jpg 935B
captcha_bg_33.jpg 932B
captcha_bg_33.jpg 932B
captcha_bg_13.jpg 916B
captcha_bg_13.jpg 916B
captcha_bg_42.jpg 910B
captcha_bg_42.jpg 910B
captcha_bg_15.jpg 909B
captcha_bg_15.jpg 909B
captcha_bg_54.jpg 904B
captcha_bg_54.jpg 904B
captcha_bg_32.jpg 888B
captcha_bg_32.jpg 888B
captcha_bg_43.jpg 887B
captcha_bg_43.jpg 887B
captcha_bg_49.jpg 882B
captcha_bg_49.jpg 882B
captcha_bg_30.jpg 876B
captcha_bg_30.jpg 876B
captcha_bg_46.jpg 870B
captcha_bg_46.jpg 870B
captcha_bg_23.jpg 869B
captcha_bg_23.jpg 869B
captcha_bg_26.jpg 859B
captcha_bg_26.jpg 859B
captcha_bg_53.jpg 854B
captcha_bg_53.jpg 854B
captcha_bg_20.jpg 853B
captcha_bg_20.jpg 853B
captcha_bg_51.jpg 843B
captcha_bg_51.jpg 843B
captcha_bg_47.jpg 842B
captcha_bg_47.jpg 842B
captcha_bg_36.jpg 837B
captcha_bg_36.jpg 837B
captcha_bg_50.jpg 815B
captcha_bg_50.jpg 815B
captcha_bg_35.jpg 800B
captcha_bg_35.jpg 800B
captcha_bg_60.jpg 777B
captcha_bg_60.jpg 777B
captcha_bg_44.jpg 774B
captcha_bg_44.jpg 774B
captcha_bg_45.jpg 772B
captcha_bg_45.jpg 772B
captcha_bg_56.jpg 759B
captcha_bg_56.jpg 759B
captcha_bg_38.jpg 755B
captcha_bg_38.jpg 755B
captcha_bg_58.jpg 739B
captcha_bg_58.jpg 739B
captcha_bg_2.jpg 729B
captcha_bg_29.jpg 729B
captcha_bg_29.jpg 729B
captcha_bg_2.jpg 729B
captcha_bg_41.jpg 728B
captcha_bg_41.jpg 728B
captcha_bg_59.jpg 707B
captcha_bg_59.jpg 707B
captcha_bg_37.jpg 705B
captcha_bg_37.jpg 705B
captcha_bg_8.jpg 696B
captcha_bg_8.jpg 696B
captcha_bg_10.jpg 692B
captcha_bg_10.jpg 692B
captcha_bg_27.jpg 688B
captcha_bg_27.jpg 688B
共 151 条
- 1
- 2
资源评论
Small-Young
- 粉丝: 67
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功