隨筆-200  評論-148  文章-15  trackbacks-0
          方法1:

          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 2008-04-30 15:46 無聲 閱讀(348) 評論(0)  編輯  收藏 所屬分類: 職場生活
          主站蜘蛛池模板: 霸州市| 梅河口市| 乐至县| 商城县| 涟水县| 北宁市| 西昌市| 苏尼特右旗| 炉霍县| 内黄县| 铜川市| 奉节县| 民权县| 辽阳县| 大庆市| 青冈县| 朝阳区| 蓝田县| 景德镇市| 高清| 南岸区| 北安市| 三穗县| 双城市| 灌阳县| 敖汉旗| 太白县| 东光县| 庐江县| 大方县| 买车| 乌拉特前旗| 苏州市| 确山县| 五华县| 大埔区| 积石山| 财经| 会宁县| 凌源市| 新民市|