<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 閱讀(169) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 亚洲色欲久久久综合网| 成人无码视频97免费| 天天影视色香欲综合免费| 久久综合图区亚洲综合图区| 野花香在线视频免费观看大全 | 永久免费视频网站在线观看| 亚洲专区先锋影音| 最近中文字幕大全免费视频| 亚洲视频在线播放| 波多野结衣免费在线| 亚洲人成网男女大片在线播放| 在人线av无码免费高潮喷水| 亚洲色精品三区二区一区| 国产午夜免费秋霞影院| 国产亚洲高清在线精品不卡| 亚洲无码黄色网址| 人妻在线日韩免费视频| 亚洲综合无码一区二区| 久久久久国产精品免费免费搜索| 亚洲精品天堂在线观看| 又爽又黄无遮挡高清免费视频| 一级做α爱过程免费视频| 亚洲开心婷婷中文字幕| 3d成人免费动漫在线观看| 亚洲一卡二卡三卡| 亚洲av高清在线观看一区二区| 国产日韩久久免费影院 | 卡一卡二卡三在线入口免费| 狼人大香伊蕉国产WWW亚洲| MM131亚洲国产美女久久| 久久久久久久岛国免费播放| 国产成人精品日本亚洲专一区| 波多野结衣中文一区二区免费| 黄网站色视频免费在线观看的a站最新| 亚洲精品日韩专区silk| 国产又大又黑又粗免费视频 | 蜜臀91精品国产免费观看| 黄色免费网址在线观看| 亚洲三级电影网址| 国产免费拔擦拔擦8x| 国产成人AV片无码免费|