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

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

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

    狂奔 lion

    自強不息

    數字驗證碼小圖生成程序

    做了一個登陸驗證碼的生成小程序,或許對大家有用。支持背景圖和文字旋轉
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.util.Date;
    import java.util.Random;

    import javax.imageio.ImageIO;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import com.sun.image.codec.jpeg.JPEGCodec;
    import com.sun.image.codec.jpeg.JPEGEncodeParam;
    import com.sun.image.codec.jpeg.JPEGImageEncoder;

    /**
     * Servlet implementation class for Servlet: ImageGenerator
     * 
     
    */
    public class ImageGenerator extends javax.servlet.http.HttpServlet implements
            javax.servlet.Servlet {
        
    protected void doGet(HttpServletRequest request,
                HttpServletResponse response) 
    throws ServletException, IOException {
            response.setContentType(
    "image/jpeg"); // 必須設置ContentType為image/jpeg
            int length = 4// 設置默認生成4個數字
            Date d = new Date();
            
    long lseed = d.getTime();
            Random r 
    = new Random(lseed); // 設置隨機種子
            if (request.getParameter("length"!= null) {
                
    try {
                    length 
    = Integer.parseInt(request.getParameter("length"));
                } 
    catch (NumberFormatException e) {
                }
            }

            
    // 可以在此加入保存驗證碼的代碼
            
    // 創建內存圖像
            BufferedImage bi = ImageIO.read(new File(this.getServletContext().getRealPath("./imgc.jpg")));
            
    //可以在上面讀入一個背景圖,然后在背景圖上寫數字
            
            Graphics2D g 
    = bi.createGraphics();
            g.setColor(Color.CYAN);
            g.setFont(
    new Font(null, Font.BOLD, 15));
            
    //旋轉
            double rot;
            
            
    for (int i = 0; i < length; i++) {
                g.drawString(String.valueOf(r.nextInt(
    9)), bi.getWidth()/4 + i * 15, bi.getHeight()/2);
                rot 
    = r.nextDouble() * 0.1;
                
    if(r.nextBoolean())
                    rot 
    = -1 * rot;
                g.rotate(rot);
            }

            
    try {
                
    // 使用JPEG編碼,輸出到response的輸出流
                JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response
                        .getOutputStream());
                JPEGEncodeParam param 
    = encoder.getDefaultJPEGEncodeParam(bi);
                param.setQuality(
    1.0ffalse);
                encoder.setJPEGEncodeParam(param);
                encoder.encode(bi);
            } 
    catch (Exception ex) {
            }
        }
    }
    自己配置一下背景圖片的位置就可以了



     @2008 楊一. 版權所有. 保留所有權利

    posted on 2006-09-21 20:13 楊一 閱讀(1433) 評論(2)  編輯  收藏 所屬分類: Java EE

    評論

    # 23412 2011-05-12 13:27 12341234

    12341243  回復  更多評論   

    # 23412 2011-05-12 13:27 12341234

    123453  回復  更多評論   

    <2011年5月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    導航

    公告

    本人在blogjava上發表的文章及隨筆除特別聲明外均為原創或翻譯,作品受知識產權法保護并被授權遵從 知識分享協議:署名-非商業性使用-相同方式共享 歡迎轉載,請在轉載時注明作者姓名(楊一)及出處(m.tkk7.com/yangyi)
    /////////////////////////////////////////
    我的訪問者

    常用鏈接

    留言簿(5)

    隨筆分類(55)

    隨筆檔案(55)

    相冊

    Java

    其他技術

    生活

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    自強不息


    用心 - 珍惜時間,勇于創造
    主站蜘蛛池模板: 中文字幕亚洲综合小综合在线| 亚洲精品国产日韩无码AV永久免费网| 国产亚洲精aa在线看| 国内一级一级毛片a免费| 一级特黄色毛片免费看| 婷婷精品国产亚洲AV麻豆不片| 丁香花在线观看免费观看| fc2成年免费共享视频网站| 久久久亚洲裙底偷窥综合| 国产在线ts人妖免费视频| 成人久久免费网站| 中文字幕亚洲精品无码| 亚洲中文久久精品无码ww16| 国产在线观看免费观看不卡| 九九免费精品视频在这里| 亚洲成人福利网站| 亚洲精品国产精品国自产观看 | 少妇无码一区二区三区免费| 麻豆亚洲AV成人无码久久精品 | 高清永久免费观看| 亚洲香蕉久久一区二区| 亚洲无线一二三四区手机| 国色精品卡一卡2卡3卡4卡免费| sihu国产精品永久免费| 99亚偷拍自图区亚洲| 亚洲成A人片在线观看无码不卡 | 亚洲精品乱码久久久久蜜桃| 亚洲一区二区三区高清| 亚洲人午夜射精精品日韩| 香蕉97超级碰碰碰免费公| 高清一区二区三区免费视频| 一级一级毛片免费播放| 中文字幕在线日亚洲9| 久久久亚洲欧洲日产国码是AV | 国内成人精品亚洲日本语音 | 免费看一级一级人妻片| 日韩亚洲产在线观看| 亚洲天堂一区二区三区| 婷婷亚洲久悠悠色悠在线播放| 亚洲自偷自偷偷色无码中文| 凹凸精品视频分类国产品免费|