Java 生成图片验证码

雨点打透心脏的1/2处 2022-09-09 06:22 312阅读 0赞
  1. // 图片高度
  2. private static final int IMG_HEIGHT = 40;
  3. // 图片宽度
  4. private static final int IMG_WIDTH = 100;
  5. // 验证码X坐标
  6. private static final int CODE_X = 25;
  7. // 验证码Y坐标
  8. private static final int CODE_Y = 20;
  9. public void getVerificationCode(String code) {
  10. Random random = new Random();
  11. //构造BufferedImage图像对象
  12. BufferedImage bufferedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT,
  13. BufferedImage.TYPE_INT_RGB);
  14. //获取绘图对象
  15. Graphics graphics = bufferedImage.getGraphics();
  16. for (int i = 0; i < code.length(); i++) {
  17. //设置字体颜色
  18. graphics.setColor(new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)));
  19. //绘制字体
  20. graphics.drawString((code.charAt(i) + "").toUpperCase(Locale.ROOT),
  21. (i * CODE_X) + random.nextInt(9), CODE_Y + random.nextInt(9));
  22. }
  23. try {
  24. //写入图片
  25. ImageIO.write(bufferedImage, "JPG", new FileOutputStream("F:/code.jpg"));
  26. } catch (Exception e) {
  27. e.printStackTrace();
  28. }
  29. }
  30. public static void main(String[] args) {
  31. TestUtils testUtils = new TestUtils();
  32. testUtils.getVerificationCode("aB12");
  33. }

结果图片

2021083011290898.jpg

发表评论

表情:
评论列表 (有 0 条评论,312人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java生成图片验证

    功能介绍:自定义图片尺寸和字符长度,随机背景颜色和字符颜色,随机字符偏移角度,字符平滑边缘,干扰线,噪点,背景扭曲。 VerifyCodeUtils类,生成图片流,然后不同框

    相关 生成图片验证

    问题描述 在项目中遇到有人恶意拉取图片资源,无限刷资源,导致阿里图片服务器流量暴涨(钱遭不住),使得带宽一直处于上限,正常用户不能好的访问。 解决办法 这个功能设