<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://m.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

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 女人隐私秘视频黄www免费| 亚洲国产情侣一区二区三区| 国产免费拔擦拔擦8x| 国产精品久久久久影院免费| 区久久AAA片69亚洲| 久久精品九九亚洲精品| 亚洲国产系列一区二区三区| 一级毛片a女人刺激视频免费| 野花香高清视频在线观看免费| 男女超爽刺激视频免费播放| 亚洲成a人一区二区三区| 亚洲国产精品无码专区在线观看 | 亚洲乱码一区二区三区在线观看 | 少妇亚洲免费精品| 日韩精品一区二区亚洲AV观看| 久久国产精品免费看| 亚洲A∨精品一区二区三区| 日本高清不卡中文字幕免费| 亚欧免费视频一区二区三区| 亚洲区日韩区无码区| 91亚洲自偷在线观看国产馆| 免费A级毛片无码无遮挡内射| 亚洲色成人网站WWW永久四虎| 国产精品白浆在线观看免费| 亚洲国产精品日韩在线观看| 一级做α爱过程免费视频| 国产gv天堂亚洲国产gv刚刚碰| 99精品在线免费观看| 精品国产亚洲男女在线线电影| 亚洲成av人片在线天堂无| 91精品视频在线免费观看| 亚洲色成人WWW永久网站| 黄人成a动漫片免费网站| 国内自产少妇自拍区免费| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲免费网站观看视频| 亚洲高清无在码在线无弹窗| 曰批全过程免费视频在线观看无码 | 亚洲中文无码mv| 伊人久久综在合线亚洲91| 99久久久精品免费观看国产|