java生成縮略圖代碼

          方法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-11-26 16:26 miracle 閱讀(180) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          我參與的團隊

          隨筆檔案(1)

          文章檔案(5)

          搜索

          最新評論

          主站蜘蛛池模板: 河南省| 石棉县| 迭部县| 寻乌县| 德安县| 全南县| 纳雍县| 手机| 泊头市| 饶阳县| 类乌齐县| 读书| 乃东县| 清徐县| 崇明县| 马鞍山市| 金门县| 桐城市| 辉南县| 长治市| 大埔区| 聂拉木县| 资中县| 上饶市| 达日县| 江北区| 清丰县| 阿瓦提县| 电白县| 新河县| 垦利县| 安顺市| 靖江市| 铜川市| 屯留县| 庄河市| 北票市| 汪清县| 二连浩特市| 定南县| 泰宁县|