在Java中,可以使用Java的Graphics类来绘制验证码。以下是一个简单的示例:
import java.awt.*; import java.awt.image.BufferedImage; import java.util.Random; public class CaptchaGenerator { public static void main(String[] args) { int width = 120; // 验证码图片宽度 int height = 40; // 验证码图片高度 String captcha = generateCaptcha(4); // 生成4位的验证码 // 创建验证码图片 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = image.createGraphics(); // 设置背景颜色 g2d.setColor(Color.WHITE); g2d.fillRect(0, 0, width, height); // 设置字体和字体大小 Font font = new Font("Arial", Font.BOLD, 20); g2d.setFont(font); // 生成随机的验证码颜色 Random random = new Random(); Color color = new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)); g2d.setColor(color); // 绘制验证码 g2d.drawString(captcha, 10, 25); // 添加干扰线 for (int i = 0; i < 5; i++) { int x1 = random.nextInt(width); int y1 = random.nextInt(height); int x2 = random.nextInt(width); int y2 = random.nextInt(height); g2d.drawLine(x1, y1, x2, y2); } // 显示验证码图片 showImage(image); } // 生成指定长度的验证码 private static String generateCaptcha(int length) { String source = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; StringBuilder captcha = new StringBuilder(); Random random = new Random(); for (int i = 0; i < length; i++) { int index = random.nextInt(source.length()); captcha.append(source.charAt(index)); } return captcha.toString(); } // 在窗口中显示验证码图片 private static void showImage(BufferedImage image) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(image.getWidth(), image.getHeight()); frame.setResizable(false); frame.getContentPane().add(new JLabel(new ImageIcon(image))); frame.setVisible(true); } }
以上代码使用Java的Graphics2D类绘制一个包含4位随机字母和数字的验证码。生成的验证码图片将显示在一个窗口中。可以根据需要调整验证码图片的宽度、高度、字体、字体大小等参数。
版权申明:财旺号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 1790309299@qq.com 举报,一经查实,本站将立刻删除。