<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 不曾真實 閱讀(1130) 評論(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无码专区| 国产亚洲综合色就色| 免费一区二区三区四区五区| 97碰公开在线观看免费视频| 天堂在线免费观看| 爱情岛论坛免费视频| 亚洲私人无码综合久久网| 亚洲欧洲日韩在线电影| 亚洲av日韩av天堂影片精品| 亚洲成a人片在线播放| 日本高清免费不卡在线| 成年男女男精品免费视频网站| 久久精品无码专区免费东京热| 大地资源在线资源免费观看| 人人公开免费超级碰碰碰视频| 苍井空亚洲精品AA片在线播放| 亚洲娇小性色xxxx| 亚洲成AV人综合在线观看| 亚洲v高清理论电影| 国产亚洲精品岁国产微拍精品| 亚洲女同成人AⅤ人片在线观看| 四虎永久免费地址在线网站| 永久免费av无码网站大全| 成年女人看片免费视频播放器| 国产免费毛不卡片| 99久久综合国产精品免费| 在线观看AV片永久免费| 国产成人无码免费看视频软件 | 免费看的一级毛片| 免费精品人在线二线三线区别| 一本岛高清v不卡免费一三区| 在免费jizzjizz在线播| 免费视频专区一国产盗摄| 国产情侣激情在线视频免费看| 在线观看免费人成视频色9| 在线免费观看污网站| 日韩激情无码免费毛片| 国产jizzjizz视频全部免费|