<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(目標(biāo)寬, 目標(biāo)高,BufferedImage.TYPE_INT_RGB);
    得到它的Graphics對象:
    Graphics g = bi.getGraphics();
    然后往這個畫而上畫原圖就行了:
    g.grawImage(src,0,0,目標(biāo)寬,目標(biāo)高,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"); //將要轉(zhuǎn)換出的小圖文件

    ??????????? 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 閱讀(5608) 評論(5)  編輯  收藏 所屬分類: JSP/Servlet

    評論:
    # re: [收藏]java生成縮略圖代碼 2005-10-15 01:30 | 鳥不生蛋蛋的地方
    恩,挺有用的功能,收藏了.  回復(fù)  更多評論
      
    # re: [收藏]java生成縮略圖代碼 2005-12-13 21:44 | lesky
    好像很耗內(nèi)存,大圖會溢出,有沒有更好的辦法?求教!  回復(fù)  更多評論
      
    # re: [收藏]java生成縮略圖代碼 2005-12-14 09:30 | eamoi
    我在自己的Web系統(tǒng)中使用到了帖子中的代碼,沒有發(fā)現(xiàn)樓上說的問題。
    內(nèi)存:DDR 512M。
    其實不耗內(nèi)存的說。  回復(fù)  更多評論
      
    # re: [收藏]java生成縮略圖代碼 2006-03-21 22:25 | Baiyun
    我6M的附件內(nèi)存溢出,一時還想不到解決辦法。  回復(fù)  更多評論
      
    # re: [收藏]java生成縮略圖代碼 2008-03-06 10:02 | hello
    那確實內(nèi)存溢出,,有沒有新的解決辦法?  回復(fù)  更多評論
      
    主站蜘蛛池模板: 2015日韩永久免费视频播放| 免费在线观看自拍性爱视频| 91香焦国产线观看看免费| 自拍偷自拍亚洲精品被多人伦好爽| 亚洲爆乳少妇无码激情| 成年女人永久免费观看片| 亚洲av无码专区亚洲av不卡| 色吊丝最新永久免费观看网站| 亚洲AV无码国产一区二区三区| 日韩免费电影在线观看| 直接进入免费看黄的网站| 亚洲成人影院在线观看| 中文字幕永久免费| 亚洲一区免费观看| 成人免费福利视频| 久久亚洲中文字幕无码| 国产成人免费一区二区三区| 日韩在线视频播放免费视频完整版 | 国产精品极品美女免费观看| 含羞草国产亚洲精品岁国产精品| 吃奶摸下高潮60分钟免费视频 | 亚洲国产精品日韩在线观看| 成人女人A级毛片免费软件| 亚洲jjzzjjzz在线播放| 国产精品视频免费一区二区三区| 特级毛片全部免费播放| 国产亚洲综合色就色| 91精品成人免费国产片| 亚洲爆乳少妇无码激情| 亚洲精品无码av人在线观看 | 青青草免费在线视频| 羞羞漫画页面免费入口欢迎你| 亚洲伊人久久精品影院| 国产免费不卡视频| 免费视频精品一区二区| 老色鬼久久亚洲AV综合| 国产伦一区二区三区免费| 国产成人一区二区三区视频免费| 亚洲最大的成人网| 亚洲欧洲日产国码av系列天堂| 在人线av无码免费高潮喷水|