zoukankan      html  css  js  c++  java
  • 验证码的旋转与放缩代码

    public void demo2() throws IOException {
    int w = 60;
    int h = 30;
    BufferedImage img = new BufferedImage(w, h,BufferedImage.TYPE_INT_RGB );
    Graphics g = img.getGraphics();

    //背景
    g.setColor(Color.WHITE);
    g.fillRect(0, 0, w, h);
    //字体
    g.setFont(new Font("aa", Font.BOLD, 18));
    //输出验证码: 4个0~9之间的随机整数
    Random r = new Random();
    for(int i=0;i<4;i++){
    int a = r.nextInt(10);
    int y = 10+r.nextInt(20);//上下位置:10~30
    Color c = new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255));
    g.setColor(c);
    g.drawString(""+a, i*16, y);
    }
    //画干扰线
    for(int i=0;i<20;i++){
    Color c = new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255));
    g.setColor(c);
    g.drawLine(r.nextInt(w), r.nextInt(h), r.nextInt(w), r.nextInt(h));
    }

    //把图形刷到img对象中
    g.dispose();//相当于IO中的close()方法带动flush()
    ImageIO.write(img, "JPEG", new FileOutputStream("d:/a/hello.jpg"));
    }

    }

    ----------------------------------------------------------------

    @Test
    public void demo3() throws IOException {
    int w = 80;
    int h = 30;
    BufferedImage img = new BufferedImage(w, h,BufferedImage.TYPE_INT_RGB );
    Graphics g = img.getGraphics();
    Graphics2D g2d = ( Graphics2D )g; // ※※※
    //字体
    g2d.setFont(new Font("aa", Font.BOLD, 18));

    //背景
    g2d.setColor(Color.WHITE);
    g2d.fillRect(0, 0, w, h);


    //输出验证码: 4个0~9之间的随机整数
    Random r = new Random();
    for(int i=0;i<4;i++){
    int a = r.nextInt(10);
    int y = 10+r.nextInt(20);//上下位置:10~30
    Color c = new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255));
    g2d.setColor(c);

    //旋转和放缩※※※
    AffineTransform tx = new AffineTransform();
    tx.rotate(r.nextDouble(), i*16, y-5);
    tx.scale(0.6+r.nextDouble(), 0.6+r.nextDouble());
    g2d.setTransform(tx);

    g2d.drawString(""+a, i*16, y);
    }
    //画干扰线
    for(int i=0;i<10;i++){
    Color c = new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255));
    g2d.setColor(c);
    g2d.drawLine(r.nextInt(w), r.nextInt(h), r.nextInt(w), r.nextInt(h));
    }

    //把图形刷到img对象中
    g2d.dispose();//相当于IO中的close()方法带动flush()
    ImageIO.write(img, "JPEG", new FileOutputStream("d:/a/hello.jpg"));
    }

    }

  • 相关阅读:
    lampp、xampp安装文档
    tomcat下配置https方式
    1.6:怎么学习Linux
    1.5:linux的应用领域
    1.3:linux的优点和缺点
    1.4:Linux发行版本详解
    1.2:liunx和unix的区别
    1.1:Linux系统简介
    mysql中获取表名&字段名的查询语句
    kettle组件-输出
  • 原文地址:https://www.cnblogs.com/1314wamm/p/5908679.html
Copyright © 2011-2022 走看看