zoukankan      html  css  js  c++  java
  • 空心验证码(定制) 悟寰轩

     1    Graphics2D graphics = (Graphics2D) image.getGraphics();
     2         graphics.setColor(color);
     3         RenderingHints hints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
     4         hints.add(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY));
     5         graphics.setRenderingHints(hints);
     6         FontRenderContext frc = graphics.getFontRenderContext();
     7         
     8         char[] wordChars = text.toCharArray();
     9         int startPosY = 40;
    10         int startPosX = 60;
    11         Random random = new Random();
    12         for (int i = 0; i < wordChars.length; i++) {
    13             graphics.setFont(fonts[0]);
    14             char[] charToDraw = new char[] { wordChars[i] };
    15             GlyphVector fontGV = fonts[0].createGlyphVector(frc, charToDraw);
    16             Shape textShape = fontGV.getOutline();
    17             AffineTransform rotate45 = AffineTransform.getRotateInstance(30 * Math.PI, 0, 0);
    18             Shape rotatedText = rotate45.createTransformedShape(textShape);
    19             graphics.translate(startPosX, startPosY);
    20             graphics.draw(rotatedText);
    21             startPosX = (random.nextInt(3) + 1) * 10;
    22             startPosY = (random.nextInt(3) + 1);
    23         }
    24 
    25   graphics.dispose();

    扣空心,只支持一个一个字符的~,多个字符需要循环draw.

  • 相关阅读:
    访问虚拟机
    w3school JavaScript 简介
    蘑菇街2016研发工程师在线编程题
    乐视2017暑期实习生笔试题(二)
    今日头条2017后端工程师实习生笔试题
    c# 读取 excel文件内容,写入txt文档
    处理字符串
    XML获取节点信息值
    SVN仓库目录结构
    sql 知识点
  • 原文地址:https://www.cnblogs.com/sunxucool/p/3123544.html
Copyright © 2011-2022 走看看