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

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

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

    隨筆-86  評論-767  文章-3  trackbacks-3
    方法1:
    縮略圖只要10行代碼就夠了,前面介紹過N次了.自己不能往前找找嗎?

    Image src = ToolKit.getToolKit().createImage("文件路徑");
    然后先生成一個BufferedImage bi作為畫布.
    BufferedImage bi = new BufferedImage(目標寬, 目標高,BufferedImage.TYPE_INT_RGB);
    得到它的Graphics對象:
    Graphics g = bi.getGraphics();
    然后往這個畫而上畫原圖就行了:
    g.grawImage(src,0,0,目標寬,目標高,null);
    找一個編碼類,如JPEGEncoder,GIFEncoder
    把bi編碼輸出就行了.

    方法2:
    import javax.imageio.ImageIO;
    import javax.imageio.IIOException;
    import java.awt.image.BufferedImage;
    import java.awt.Image;
    import java.io.File;
    import java.awt.image.AffineTransformOp;
    import java.awt.geom.AffineTransform;

    public class Test {

    ??? public static void main (String argv[]) {
    ??????? try {
    ??????????? File fi = new File("C:/1.jpg"); //大圖文件
    ??????????? File fo = new File("C:/2.jpg"); //將要轉換出的小圖文件

    ??????????? AffineTransform transform = new AffineTransform();
    ??????????? BufferedImage bis = ImageIO.read(fi);

    ??????????? int w = bis.getWidth();
    ??????????? int h = bis.getHeight();
    ??????????? double scale = (double)w/h;

    ??????????? int nw = 120;
    ??????????? int nh = (nw * h) / w;
    ??????????? if(nh>120) {
    ??????????????? nh = 120;
    ??????????????? nw = (nh * w) / h;
    ??????????? }

    ??????????? double sx = (double)nw / w;
    ??????????? double sy = (double)nh / h;

    ??????????? transform.setToScale(sx,sy);

    ??????????? AffineTransformOp ato = new AffineTransformOp(transform, null);
    ??????????? BufferedImage bid = new BufferedImage(nw, nh, BufferedImage.TYPE_3BYTE_BGR);
    ??????????? ato.filter(bis,bid);
    ??????????? ImageIO.write(bid, "jpeg", fo);
    ??????? } catch(Exception e) {
    ??????????? e.printStackTrace();
    ??????? }
    ??? }
    }
    posted on 2005-01-14 15:07 eamoi 閱讀(5607) 評論(5)  編輯  收藏 所屬分類: JSP/Servlet

    評論:
    # re: [收藏]java生成縮略圖代碼 2005-10-15 01:30 | 鳥不生蛋蛋的地方
    恩,挺有用的功能,收藏了.  回復  更多評論
      
    # re: [收藏]java生成縮略圖代碼 2005-12-13 21:44 | lesky
    好像很耗內存,大圖會溢出,有沒有更好的辦法?求教!  回復  更多評論
      
    # re: [收藏]java生成縮略圖代碼 2005-12-14 09:30 | eamoi
    我在自己的Web系統中使用到了帖子中的代碼,沒有發現樓上說的問題。
    內存:DDR 512M。
    其實不耗內存的說。  回復  更多評論
      
    # re: [收藏]java生成縮略圖代碼 2006-03-21 22:25 | Baiyun
    我6M的附件內存溢出,一時還想不到解決辦法。  回復  更多評論
      
    # re: [收藏]java生成縮略圖代碼 2008-03-06 10:02 | hello
    那確實內存溢出,,有沒有新的解決辦法?  回復  更多評論
      
    主站蜘蛛池模板: 久久这里只有精品国产免费10| 性无码免费一区二区三区在线| 最新仑乱免费视频| 亚洲国产高清在线精品一区| 毛片免费全部播放无码| 久久久久久久亚洲Av无码| 免费国产黄网站在线观看视频| 亚洲A∨无码无在线观看| 97精品免费视频| 亚洲人成在久久综合网站| 国产一卡2卡3卡4卡无卡免费视频| 亚洲另类古典武侠| 成年女人18级毛片毛片免费| 亚洲а∨精品天堂在线| 亚洲成a人片在线观看老师| 久久er国产精品免费观看8| 亚洲AV日韩AV永久无码免下载 | 国产男女爽爽爽免费视频| 中文字幕亚洲综合久久男男| 在线看片免费人成视频福利| 麻豆亚洲av熟女国产一区二| 99久久综合国产精品免费| 亚洲AV无码一区二区乱子仑| 亚洲日韩在线观看| 一区二区在线免费观看| 亚洲不卡视频在线观看| 日韩亚洲国产二区| 青柠影视在线观看免费高清 | 全部免费毛片在线播放| 亚洲人成网国产最新在线| 哒哒哒免费视频观看在线www| 久久www免费人成精品香蕉| 亚洲色av性色在线观无码| 日产乱码一卡二卡三免费| 两个人的视频www免费| 亚洲一区二区三区高清视频| 免费一级毛片不卡不收费| 日韩精品免费在线视频| 亚洲国产精品成人午夜在线观看 | 人人狠狠综合久久亚洲婷婷| 青娱乐免费视频在线观看|