Java基礎方法(八)---圖片驗證中的圖片的產生

          很多驗證并不只是只有數字,字母或是加減法,有些是使用圖片的。
          很多都用圖片驗證,因為圖片驗證可以讓別人的一些非法批量注冊變成不可能。
          一下就是一個驗證圖片的形成。
           1 package com.duduli.li.image;
           2 
           3 import java.awt.Color;
           4 import java.awt.Font;
           5 import java.awt.Graphics;
           6 import java.awt.image.BufferedImage;
           7 import java.io.FileOutputStream;
           8 import java.io.IOException;
           9 
          10 import com.sun.image.codec.jpeg.ImageFormatException;
          11 import com.sun.image.codec.jpeg.JPEGCodec;
          12 import com.sun.image.codec.jpeg.JPEGImageEncoder;
          13 
          14 public class SimpleImage {
          15     public static BufferedImage getImage(){
          16 //        image初始化
          17         BufferedImage image = new BufferedImage(6030, BufferedImage.TYPE_INT_RGB);
          18         Graphics graphics = image.getGraphics();
          19 //        圖片各屬性設置
          20         graphics.setColor(new Color(0,255,0));
          21         graphics.drawRect(60306030);
          22         graphics.fillRect(006030);
          23         graphics.setFont(new Font("Times New Roman", Font.PLAIN, 20));
          24 //        圖片中插入字母
          25         for (int i=0; i<4; i++){ 
          26             String temp = "degx".substring(i, i+1); 
          27                graphics.setColor(new Color(102,32,176)); 
          28                graphics.drawString(temp, 13 * i + 616); 
          29            } 
          30         graphics.dispose();
          31         return image;
          32     }
          33     /**
          34      * @param args
          35      * @throws IOException 
          36      * @throws ImageFormatException 
          37      */
          38     public static void main(String[] args) throws ImageFormatException, IOException {
          39         // TODO Auto-generated method stub
          40         FileOutputStream fos = new FileOutputStream("c:\\test.jpg");
          41         JPEGImageEncoder jie = JPEGCodec.createJPEGEncoder(fos);
          42         jie.encode(new SimpleImage().getImage());
          43     }
          44 
          45 }
          46 

          以上的代碼可以修改的地方很多,如顏色你可以弄成一個隨機的,而顯示的數字你也可以使用隨機的。

          posted on 2010-05-27 20:54 duduli 閱讀(2083) 評論(4)  編輯  收藏 所屬分類: java

          評論

          # re: Java基礎方法(八)---圖片驗證中的圖片的產生 2010-05-28 13:45 俏物悄語

          明年是的方法  回復  更多評論   

          # re: Java基礎方法(八)---圖片驗證中的圖片的產生 2010-05-31 00:55 anniezheng

          又學到了東西哦,謝謝!  回復  更多評論   

          # re: Java基礎方法(八)---圖片驗證中的圖片的產生 2010-05-31 20:53 18傲骨中文

          受益匪淺~~~~  回復  更多評論   

          # re: Java基礎方法(八)---圖片驗證中的圖片的產生 2010-06-01 10:25 53中文網

          收藏了先,頂一下  回復  更多評論   

          <2010年5月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導航

          統計

          公告

          welcome to my place.

          常用鏈接

          留言簿(5)

          我參與的團隊

          隨筆分類

          隨筆檔案

          新聞分類

          石頭JAVA擺地攤兒

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          @duduli
          主站蜘蛛池模板: 合作市| 霍山县| 三明市| 莆田市| 小金县| 三台县| 文水县| 读书| 黔江区| 寻甸| 讷河市| 格尔木市| 克什克腾旗| 犍为县| 镇原县| 和平县| 南澳县| 德江县| 丹棱县| 桑植县| 封丘县| 芦溪县| 建瓯市| 兴山县| 瑞金市| 孝义市| 崇信县| 奉节县| 夏邑县| 吐鲁番市| 天全县| 泰和县| 武威市| 凉城县| 隆昌县| 南投县| 邹城市| 姚安县| 青铜峡市| 南通市| 微山县|