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

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 美女黄色毛片免费看| 亚洲av乱码一区二区三区按摩 | 午夜影院免费观看| 免费无码看av的网站| 亚洲色欲久久久综合网东京热 | 国产亚洲福利精品一区| 涩涩色中文综合亚洲| 中文字幕成人免费高清在线视频 | 国产又粗又猛又爽又黄的免费视频| 亚洲一区二区三区自拍公司| www.xxxx.com日本免费| 毛片在线看免费版| 亚洲人成网站在线播放影院在线| 亚洲AV无码成人精品区日韩 | 久久er国产精品免费观看2| 国产精品免费看久久久久| 亚洲欧美不卡高清在线| 最刺激黄a大片免费网站| 亚洲日本韩国在线| 成人精品国产亚洲欧洲| 亚洲人成网站免费播放| 亚洲高清不卡视频| 日本免费人成网ww555在线| 亚洲午夜无码AV毛片久久| 国内精品免费久久影院| 亚洲精品视频免费观看| 亚洲AV无码一区二区一二区 | 精品香蕉在线观看免费| 日本阿v免费费视频完整版| 全免费a级毛片免费**视频| 久久亚洲精品成人无码| 亚洲日本va午夜中文字幕久久| 最新亚洲成av人免费看| 91亚洲导航深夜福利| 香蕉高清免费永久在线视频| 春意影院午夜爽爽爽免费| 四虎永久在线精品免费影视| 日韩国产欧美亚洲v片| 中文字幕亚洲激情| 97人妻精品全国免费视频| 亚洲一区二区三区自拍公司|