パッケージutilsの。 インポートをjava.awt.Color; 輸入いるjava.awt.font。 輸入java.awt.Graphics2D; 輸入java.awt.image.BufferedImage。 インポートのjava.io.File; インポートにjava.io.IOException; 輸入java.util.Randomの。 輸入javax.imageio.ImageIO; インポートのjavax.servlet.http.HttpServletRequest; インポートのjavax.servlet.http.HttpServletResponse; 輸入javax.servlet.http.HttpSession。 パブリック クラスCodeUtils { // 得到随机数 プライベート 静的な 文字[] =チャー"abdefghijkmnpqrstuvwxyABCDEFGHIJKLMNPQRSTUVWXY3456789" .toCharArray(); プライベート 静的ランダムランダム= 新しい新しいランダム(); プライベート 静的文字列にgetCode(int型の長さ){ StringBufferのSB = 新しい新;たStringBuffer() のために(int型 I = 0; Iは、長さを<。 ++ I ){ sb.append(文字[にRandom.nextInt(chars.length)]); } 戻りsb.toStringを(); } / * * @ DESCRIPTION:デザインコードとイメージファイルを書き込む * / パブリック 静的 ボイドcreateCode(HttpServletRequestのREQ、HttpServletResponseのRESP){ 試み{ // 1.キャンバス作成し たBufferedImageのBufferedImage = 新しい新しい BufferedImageを(120、34は、BufferedImage.TYPE_INT_RGB); // 2は、ブラシ作成 のGraphics2DのGraphics2D = bufferedImage.createGraphicsを(); // 6。背景色を設定し、最初の色は、キャンバス塗装ブラシを設定 graphics2d.setColor(新しい新しいカラー(249、250、108 )); // 7キャンバス塗装 graphics2d.fillRect(0、0、120、34です)。 // 8.更新ペンの色の graphics2d.setColor(新しいカラー(62、128、27 ))。 // 9.设置字体 graphics2d.setFont(新しいフォント( "ドープクライシス"、Font.PLAIN、40 )); 文字列コード =にgetCode(4 )。 // 12.保存到sesssion中 のHttpSessionセッション= req.getSession()。 session.setAttribute( "コード" 、コード)。 session.setMaxInactiveInterval( 1000年); // 3.写字 graphics2d.drawString(コード、25,30 )。 // 4.收笔 graphics2d.dispose(); //サーバに保存5. ImageIO.write(BufferedImageの、 "JPG" ;、resp.getOutputStream()) } キャッチ(IOExceptionをE){ e.printStackTrace(); } } パブリック 静的 ボイドメイン(文字列[]引数)がスロー例外{ // 1.キャンバスを作成し たBufferedImageのBufferedImage = 新しい新しい(120、34であるのBufferedImage 、BufferedImage.TYPE_INT_RGB); // 2は、ブラシ作成 のGraphics2DのGraphics2D = )bufferedImage.createGraphicsを(; // 6背景色の設定、ペンの色を設定するために、塗装キャンバスで graphics2d.setColor(新新カラー(20 228、123である)); // 7キャンバス塗装 graphics2d.fillRect(0、0、120、34である); // 8ペンの色更新 graphics2d.setColor(新しい新しいカラー(246、129、50 ) ); // 9.セットフォント graphics2d.setFont(新新フォント( "ドープクライシス"、Font.PLAIN、40 )); 文字列NUMは。にgetCode(4 = ); // 3.書き込み graphics2d.drawStringを(NUM、25,30 ); // 4.ペンコレクション graphics2d.dispose(); // 5.ハードディスクに保存されて ImageIO.write(BufferedImageの、 "JPG"、新新:( "\\ abc.jpg C"のファイル;)) } // サーバに保存されて11 }