<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    wangflood

    精心維護一個技術blog,為了工作,也是愛好。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      14 Posts :: 19 Stories :: 8 Comments :: 0 Trackbacks
            最近在做一個面試題,斷斷續續地忙了九天。終于趕在圣誕節前,這個美好的晚上完成。不僅把SSH架構復習一遍,displaytag也應用上了。
    完成這個項目,產生了幾個衍生品。其中驗證碼就是其中一個。

    一般大登錄和注冊頁面上存在驗證,以前覺得很神秘。可能是接觸得多,高度就高了,再看驗證碼,其實就是response一個contentType="image/jpeg"類型的html而已。
    下面是我和awt方式生成這張圖片的源碼:
    import java.awt.BorderLayout;
    import java.awt.Button;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Frame;
    import java.awt.Graphics;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.image.BufferedImage;
    import java.util.Random;
    import java.util.concurrent.TimeUnit;

    public class Test extends Frame {

        
    public Test() {

            Button b 
    = new Button("下一個");

            setBounds(
    300300400400);
            
    this.addWindowListener(new WindowAdapter() {
                @Override
                
    public void windowClosing(WindowEvent e) {
                    System.exit(
    0);
                }

            }
    );
            b.addActionListener(
    new ActionListener() {

                @Override
                
    public void actionPerformed(ActionEvent e) {
                    repaint();

                }

            }
    );
            repaint();
            
    this.setLayout(new BorderLayout());
            
    this.add(b, BorderLayout.SOUTH);
            
    this.setVisible(true);
        }


        @Override
        
    public void paint(Graphics headG) {
            
    int width = 400, height = 400;
            BufferedImage image 
    = new BufferedImage(width, height,
                    BufferedImage.TYPE_INT_RGB);
            Graphics g 
    = image.getGraphics();
            Random random 
    = new Random();
            g.setColor(getRandColor(
    200250));
            g.fillRect(
    00, width, height);
            g.setFont(
    new Font("Arial", Font.BOLD, 120));
            g.setColor(getRandColor(
    160200));

            
    for (int i = 0; i < 550; i++{
                
    int x = random.nextInt(width);
                
    int y = random.nextInt(height);
                
    int xl = random.nextInt(12);
                
    int yl = random.nextInt(12);
                g.drawLine(x, y, x 
    + xl, y + yl);
            }

            String sRand 
    = "";
            
    for (int i = 0; i < 4; i++{
                String rand 
    = String.valueOf(random.nextInt(10));
                sRand 
    += rand;
                g.setColor(
    new Color(000));
                g.drawString(rand, 
    110 * i + 3250);
            }


            headG.drawImage(image, 
    00this);
        }


        
    public static void main(String[] args) {

            
    new Test();

        }


        
    static Color getRandColor(int fc, int bc) {
            Random random 
    = new Random();
            
    if (fc > 255)
                fc 
    = 255;
            
    if (bc > 255)
                bc 
    = 255;
            
    int r = fc + random.nextInt(bc - fc);
            
    int g = fc + random.nextInt(bc - fc);
            
    int b = fc + random.nextInt(bc - fc);
            
    return new Color(r, g, b);
        }


    }


    運行情況(截圖):

    posted on 2010-12-25 23:10 wangflood 閱讀(178) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 免费av片在线观看网站| 亚洲人成77777在线观看网| 免费在线观看h片| 免费无码午夜福利片| 亚洲电影唐人社一区二区| 中文字幕亚洲电影| 国产成人精品男人免费| 99精品视频在线观看免费播放| 九九免费观看全部免费视频| 亚洲日本国产综合高清| 亚洲精品国产第1页| 亚洲精品在线观看视频| 亚洲国产成人片在线观看| 国产gv天堂亚洲国产gv刚刚碰| 免费精品国产自产拍观看| 国产美女做a免费视频软件| 成人免费无遮挡无码黄漫视频| 久久ww精品w免费人成| 无码一区二区三区免费| 和老外3p爽粗大免费视频| 人妻免费久久久久久久了| 久久嫩草影院免费看夜色| 美女无遮挡拍拍拍免费视频| 三级片免费观看久久| 国产午夜精品久久久久免费视 | 亚洲一区在线观看视频| 国产成人亚洲综合一区| 国产精品亚洲va在线观看| 日韩在线观看免费| 久草免费手机视频| 精品免费人成视频app| 成人人免费夜夜视频观看| 亚洲&#228;v永久无码精品天堂久久| 四虎精品亚洲一区二区三区| 久久被窝电影亚洲爽爽爽| 亚洲中文字幕久在线| 在线播放国产不卡免费视频| 1000部禁片黄的免费看| 亚洲AV无码一区二三区| 综合自拍亚洲综合图不卡区| 亚洲成av人在线观看网站|