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

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

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

    不曾真實(shí)
    雖然工人可能是錘子的主人,但錘子卻依然故我。 工具精確地知道自己應(yīng)被如何使用,而使用者對此卻只會有模糊的概念。
    posts - 4,  comments - 4,  trackbacks - 0

    ? 今天做了一個Jsp頁面合成圖標(biāo)的例子。
    ? 起因每次網(wǎng)上去合成Gmail圖片,覺得不爽(偶這里聯(lián)網(wǎng)慢拉)。然后就找了一份合成Gmail圖片的代碼,http://playtime.uni.cc/downloads.php?page=gmail。下下來一看,php的,而且還需要一個GD的庫。不過代碼倒是看明白了。很短,也很無趣。

    ? 于是我就想能不能用Jsp合成圖標(biāo)阿。
    ? 然后搜了一下,網(wǎng)上果然有介紹。于是就自己照貓畫虎做了一個愛因斯坦的圖片合成的例子。

    ???

    r_ai.JPG



    ? 下邊是代碼。總共不到100行。
    ? 通過測試,響應(yīng)速度還挺快的。這里是核心部分

    /* ?=====ImageGen.jsp========? */
    <% ?@?page?language? = ? " ?java? " ??contentType? = ? " ?image/jpeg? " ??? %> ?
    <% ?@?page? import ? = ? " ?java.io.*? " ??? %> ?
    <% ?@?page? import ? = ? " ?java.awt.*? " ??? %> ?
    <% ?@?page? import ? = ? " ?java.awt.image.*? " ??? %> ?
    <% ?@?page? import ? = ? " ?com.sun.image.codec.jpeg.*? " ??? %> ?

    <% ? ! ? static ?Font?fnt?? = ??? null ?;?? %> ?
    <% ? ! ? static ?BufferedImage?bg?? = ??? null ?;?? %> ?
    <% ?
    ?????
    // ??DEBUG:??->???long??st??=??System.currentTimeMillis();
    ????request.setCharacterEncoding(? " ?shift_jis? " ?);
    ?????String??text??
    = ??request.getParameter(? " ?text? " ?);
    ?????
    if ?(text?? == ??? null ?)?text?? = ??? "" ?;

    ?????
    // ??DEBUG:??->??System.err.println(?"?text:??"?+?text);

    ?????
    // ?because?font??and??background?need?only?read?once,?so?make?it?static.
    ????? if ?(fnt?? == ??? null ?)????? // ??handwriting?font?make?it?looks?funny.s
    ????????fnt?? = ??Font.createFont(Font.TRUETYPE_FONT,? new ??FileInputStream(getServletContext().getRealPath(? " ?/? " ?)? + ? " ?LHANDW.TTF? " ?));
    ?????
    if ?(bg?? == ??? null ?)
    ????{
    ????????JPEGImageDecoder?decoder??
    = ??JPEGCodec.createJPEGDecoder(? new ??FileInputStream(getServletContext().getRealPath(? " ?/? " ?)? + ? " ?einstein.jpg? " ?));
    ????????bg??
    = ??decoder.decodeAsBufferedImage();
    ????}

    ?????
    // ??draw?background
    ???? int ??width?? = ??bg.getWidth();
    ????
    int ??height?? = ??bg.getHeight();
    ????BufferedImage?bi??
    = ??? new ??BufferedImage(width,?height,?BufferedImage.TYPE_INT_RGB);
    ????Graphics2D?g??
    = ??bi.createGraphics();
    ????g.drawImage(bg,?
    0 ?,? 0 ?,? null ?);

    ?????
    // ??start?draw?text?that?user?input
    ????g.setColor(Color.WHITE);
    ????g.setFont(fnt.deriveFont(20f));
    ?????
    int ??stringwidth?? = ??g.getFontMetrics().stringWidth(text);
    ????g.drawString(text,?
    300 ? - ?stringwidth? / ? 2 ?,? 120 ?);

    ?????
    // ???end??draw
    ????g.dispose();
    ????bi.flush();

    ?????
    // ??encode??and??output?result
    ????JPEGImageEncoder?encoder?? = ??JPEGCodec.createJPEGEncoder(response.getOutputStream());
    ????JPEGEncodeParam?param??
    = ??encoder.getDefaultJPEGEncodeParam(bi);
    ????param.setQuality(?
    1 ?.0f,?? false ?);
    ????encoder.setJPEGEncodeParam(param);
    ????encoder.encode(bi);

    ?????
    // ??DEBUG:??->??System.err.println(?"?Time?Cost:??"?+?(System.currentTimeMillis()??-??st));
    %>

    下邊是界面部分

    /*?======Image.jsp======?*/
    <%@?page?language="java"?contentType="text/html;charset=shift_jis"?%>
    <%@?page?import="java.net.URLEncoder"?%>
    <html>
    <head>
    ????
    <title>Image?Gen</title>
    ????
    <meta?http-equiv="Content-Type"?content="text/html;?charset=shift_jis"?/>
    </head>
    <body>

    <table?width="100%"?border="0"?align="center"?cellspacing="1">

    <tr><td>
    <%
    ????request.setCharacterEncoding(
    "shift_jis");
    ????
    String?text?=?request.getParameter("text");
    ????
    if(text==null?||?text.length()?==?0)?text?=?"Please?input?!";
    %>
    <IMG?src=<%=?"ImageGen.jsp?text="+URLEncoder.encode(text,"shift_jis")?%>?border="0"?/>
    </td></tr>

    <tr?valign="top">
    ???
    <td>
    ????
    <form?name="gen"?action="Image.jsp"?method="post">
    ????????
    <!--?textarea?name="text"?rows="8"?cols="70"?-->
    ????????
    <input?name="text"?/>
    ????????
    <input?type="submit"?value="Create?Image"/>
    ????
    </form>
    ????
    </td>
    </tr>

    </table>
    </body>
    </html>

    用到的圖片和字體在這里:http://www.tkk7.com/Files/wenzhoou/Resource_JSPImgGen.zip
    posted on 2006-03-22 18:48 不曾真實(shí) 閱讀(1130) 評論(3)  編輯  收藏 所屬分類: JSP

    FeedBack:
    # re: JSP圖標(biāo)合成的例子
    2006-03-23 12:30 | big brother
    Just copy some one's pages !
    Sucks!  回復(fù)  更多評論
      
    # re: JSP圖標(biāo)合成的例子
    2006-03-23 13:04 | 不曾真實(shí)
    絕對原創(chuàng)
    人頭擔(dān)保
    雖然是照貓畫虎搞學(xué)人家的,不是我自己發(fā)明的方法
    但是文章和代碼都是我自己寫的。  回復(fù)  更多評論
      
    # re: JSP圖標(biāo)合成的例子
    2008-04-24 11:59 | 噢噢
    you錯誤
    ……  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     

    <2008年4月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    相冊

    friend

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产另类久久久精品| 国产免费资源高清小视频在线观看| 伊人亚洲综合青草青草久热| 亚洲爆乳AAA无码专区| 女人18毛片a级毛片免费视频| 性xxxx黑人与亚洲| 91在线视频免费播放| 亚洲视频无码高清在线| 成年人免费观看视频网站| 亚洲欧美日韩中文字幕在线一区 | 亚洲毛片基地4455ww| 91久久精品国产免费直播| 亚洲熟妇av一区二区三区下载| 91手机看片国产永久免费| 久久夜色精品国产噜噜亚洲a| 免费看无码自慰一区二区| 国产亚洲视频在线| 亚洲性在线看高清h片| 色www永久免费| 亚洲精品成人久久| 成人免费男女视频网站慢动作| 麻豆安全免费网址入口| 最新国产AV无码专区亚洲| 久久免费观看国产精品| 亚洲人妖女同在线播放| 日韩电影免费在线观看视频| 国产精品99爱免费视频| 久久国产亚洲高清观看| 全免费一级毛片在线播放| 久久www免费人成精品香蕉| 亚洲视频在线播放| 日本v片免费一区二区三区| 羞羞视频免费网站在线看| 久久精品国产亚洲av麻豆小说 | 日本一区二区免费看| 亚洲一区二区三区在线| 免费看www视频| 3344在线看片免费| 一本色道久久综合亚洲精品蜜桃冫| 亚洲国产精品国产自在在线| 久久精品无码专区免费青青|