File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package itn.com.cmm.captcha;
import static nl.captcha.Captcha.NAME;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import nl.captcha.Captcha;
import nl.captcha.backgrounds.GradiatedBackgroundProducer;
import nl.captcha.gimpy.DropShadowGimpyRenderer;
import nl.captcha.servlet.CaptchaServletUtil;
import nl.captcha.text.producer.NumbersAnswerProducer;
import nl.captcha.text.renderer.DefaultWordRenderer;
public class CaptCha {
private static final long serialVersionUID = 1L;
private static int _width = 150; //이미지 가로크기
private static int _height = 50; //이미지 높이
private static int _fontsize = 44; //폰트크기
public CaptCha() {
super();
}
public void getCaptCha(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
try {
// 폰트 설정 =========================================================
List<Font> fontList = new ArrayList<Font>();
fontList.add(new Font("", Font.HANGING_BASELINE, 40));//
fontList.add(new Font("Courier", Font.ITALIC, 40));
fontList.add(new Font("", Font.PLAIN, 40));
List<Color> colorList = new ArrayList<Color>();
// colorList.add(Color.green);
// colorList.add(Color.pink);
// colorList.add(Color.gray);
colorList.add(Color.black);
// colorList.add(Color.blue);
// 폰트 설정 =========================================================
Captcha captcha = new Captcha.Builder( _width, _height)
// .addText(wordRenderer)
.addText(new NumbersAnswerProducer(6), //6자리 숫자로 된 문자를 추가
new DefaultWordRenderer(colorList, fontList)) //글자 꾸미기(색상, 폰트)
.gimp(new DropShadowGimpyRenderer()).gimp()
// BlockGimpyRenderer,FishEyeGimpyRenderer,RippleGimpyRenderer,ShearGimpyRenderer,StretchGimpyRenderer
.addNoise().addNoise().addBorder()
.addBackground(new GradiatedBackgroundProducer())
// FlatColorBackgroundProducer,SquigglesBackgroundProducer,TransparentBackgroundProducer
.build();
req.getSession().setAttribute(NAME, captcha);
CaptchaServletUtil.writeImage(resp, captcha.getImage());
} catch (Exception e) {
e.printStackTrace();
}
}
}