package com.opslab.util.image; import java.util.Random; /** * 生成图片验证码 */ public final class ImageCaptcha { //指定图片的宽度 private static int width =200; //指定图片的高度 private static int height= 40; //指定所以的字符 public static String CHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static String getCHAR() { return CHAR; } public static void setCHAR(String CHAR) { ImageCaptcha.CHAR = CHAR; } public static int getWidth() { return width; } public static void setWidth(int width) { ImageCaptcha.width = width; } public static int getHeight() { return height; } public static void setHeight(int height) { ImageCaptcha.height = height; } /** * 随机指定长度的字符串 * @param len * @return */ private static String randomStr(int len){ StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < len; i++) { sb.append(CHAR.charAt(random.nextInt(CHAR.length()))); } return sb.toString(); } /** * 生产一张png格式的验证图片在指定的位置 * @param strlen 验证码长度 * @param file 文件位置 * @return 是否成功 */ public static String pngCaptcha(int strlen,String file){ String random = randomStr(strlen); if(CaptchaUtil.pngCaptcha(random,width,height,file)){ return random; } return ""; } public static String gifCaptch(int strlen,String file){ String random = randomStr(strlen); if(CaptchaUtil.gifCaptcha(random,width,height,file)){ return random; } return ""; } }