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

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

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

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

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

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

    ???

    r_ai.JPG



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

    /* ?=====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 不曾真實 閱讀(1131) 評論(3)  編輯  收藏 所屬分類: JSP

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

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


    網站導航:
     

    <2006年3月>
    2627281234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    相冊

    friend

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品国产高清在线观看| 噜噜噜亚洲色成人网站∨| 亚洲AV无码AV吞精久久| 最新中文字幕电影免费观看| 亚洲国产精品美女| 91在线品视觉盛宴免费| 亚洲日韩乱码中文无码蜜桃| 亚洲精品免费在线视频| 亚洲va成无码人在线观看| 一本无码人妻在中文字幕免费| 全黄大全大色全免费大片| 中文字幕在线亚洲精品| 亚洲免费视频在线观看| 亚洲人成高清在线播放| 好男人看视频免费2019中文| 亚洲s码欧洲m码吹潮| 亚洲第一区精品观看| 免费播放在线日本感人片| 久久久无码精品亚洲日韩京东传媒| 亚洲AV综合色区无码二区偷拍| jizz免费在线影视观看网站| 国产亚洲综合一区柠檬导航| 99国产精品免费视频观看| 国产亚洲精品VA片在线播放| 免费大片在线观看网站| 男女一进一出抽搐免费视频| 国产亚洲一区二区手机在线观看| 久久久久亚洲精品无码网址色欲 | 免费永久在线观看黄网站| 国产精品亚洲av色欲三区| 亚洲日本乱码在线观看| 免费A级毛片av无码| 亚洲国产成人综合精品| 超清首页国产亚洲丝袜| 黄网站色在线视频免费观看| 麻豆亚洲AV成人无码久久精品| 永久免费AV无码国产网站 | 亚洲欧洲另类春色校园网站| 免费人成无码大片在线观看| 免费视频成人手机在线观看网址| 亚洲午夜日韩高清一区|