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 閱讀(2076) 評論(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
          主站蜘蛛池模板: 芜湖市| 南郑县| 宜兴市| 南宁市| 余江县| 仁寿县| 武定县| 甘肃省| 青海省| 东光县| 涿鹿县| 马龙县| 云南省| 枞阳县| 阳城县| 长顺县| 南京市| 砚山县| 昆山市| 兴文县| 伊吾县| 滕州市| 宝鸡市| 收藏| 寻乌县| 普兰县| 宁波市| 惠安县| 师宗县| 榆中县| 社会| 襄垣县| 林甸县| 望奎县| 禹州市| 澎湖县| 涿州市| 新和县| 台山市| 金坛市| 临西县|