import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Random;
import javax.imageio.ImageIO;
public class TestCaptchaImage {
public static void main(String[] args) throws Exception {
String captcha = "09875";
int width = 55;
int height = 20;
Color fontColor = new Color(36, 85, 92); /*文字顏色*/
Color lineColor = new Color(65, 161, 175); /*線條顏色*/
Color bgColor = new Color(208, 226, 229); /*底色*/
Random random = new Random();
random.setSeed(System.currentTimeMillis());
BufferedImage image = new BufferedImage(
width, height, BufferedImage.TYPE_INT_RGB
);
Graphics g = image.getGraphics();
/* 底色 */
g.setColor(bgColor);
g.fillRect(0, 0, width, height);
/* 畫線 */
g.setColor(lineColor);
for (int i=0; i < 20; i++) {
g.drawLine(
random.nextInt(width), 0,
random.nextInt(width), height
);
}
/* 畫出文字 */
g.setFont(new Font("Atlantic Inline", Font.BOLD, 20));
g.setColor(fontColor);
g.drawString(captcha, 0, 18);
/* 畫線 */
g.setColor(lineColor);
for (int i=0; i < 4; i++) {
g.drawLine(
0, random.nextInt(height),
width, random.nextInt(height)
);
}
g.dispose();
ImageIO.write(image, "png", new File("captcha_image.png"));
}
}
參考文件:
Graphics (Java 2 Platform SE 6)
0 回應:
張貼留言