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

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

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

    HelloWorld 善戰(zhàn)者,求之于勢,不責(zé)于人;故能擇人而任勢。

    知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

      BlogJava :: 首頁 ::  :: 聯(lián)系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 40 評論 :: 0 Trackbacks
    package com.img;

    import java.awt.Rectangle;
    import java.awt.geom.AffineTransform;
    import java.awt.image.AffineTransformOp;
    import java.awt.image.BufferedImage;
    import java.awt.image.Raster;
    import java.io.File;

    import javax.imageio.ImageIO;

    public class ABMImage {
          /**
           * 剪切圖片
           * @param source 源圖片
           * @param dest 目標(biāo)圖片
           * @param x 切點x
           * @param y 切點y
           * @param width 要切的寬度
           * @param height 要切的高度
           */
          public static void cutFile(File source, File dest,
                  int x, int y, int width, int height) throws Exception{
              if (!dest.exists())
                  dest.createNewFile();
              BufferedImage bis = ImageIO.read(source);
              int w = bis.getWidth();
              int h = bis.getHeight();
              if (w < width+x) {
                  width = w - x;
              }
              if (h < height+y) {
                  height = h - y;
              }
              BufferedImage bf = bis.getSubimage(x,y,width,height);
              ImageIO.write(bf, "jpeg" , dest);
          }
       
          /**
           * 縮放圖片
           * @param source 源圖片
           * @param dest 目標(biāo)圖片
           * @param width 縮放后的寬度
           * @param height 縮放后的高度
           */
          public static void reduceImage(File source, File dest, int width, int height)
              throws Exception{
              BufferedImage bis = ImageIO.read(source);
              int w = bis.getWidth();
              int h = bis.getHeight();
              double scale = (double)width/w;
              int disW = 0;
              int disH = 0;
              if ((double)height/h > scale) {
                  scale = (double)height/h;
                  disW = (int) ((w*scale - width)/2);
              } else {
                  disH = (int) ((h*scale - height)/2);
              }
              AffineTransform transform = new AffineTransform();
              transform.setToScale(scale, scale);
              System.out.println(scale);
              AffineTransformOp ato = new AffineTransformOp(transform, null);
              BufferedImage bid = new BufferedImage(width+disW*2, height+disH*2, BufferedImage.TYPE_3BYTE_BGR);
              ato.filter(bis, bid);
              if (width+disW*2>bid.getWidth())
                  width = bid.getWidth()-disW*2;
              if (height+disH*2>bid.getHeight())
                  height = bid.getHeight()-disH*2;
              BufferedImage bf = bid.getSubimage(disW, disH, width, height);
              ImageIO.write(bf, "jpeg" , dest);
          }
       
          public static void main(String args[]) {
              File f = new File("c:/樣品.jpg");
              File f2 = new File("c:/1234.jpg");
              try {
                  ABMImage.reduceImage(f, f2, 250, 150);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
    }



    </script>

    posted on 2007-08-13 18:51 helloworld2008 閱讀(420) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 天堂在线免费观看| 99精品免费观看| 久久99亚洲网美利坚合众国 | 日本在线高清免费爱做网站| 亚洲jizzjizz少妇| 亚洲中文字幕在线观看| 国产成人精品免费视频网页大全| 国产亚洲美女精品久久| 亚洲AV无码久久精品狠狠爱浪潮 | 免费成人在线观看| 99re6在线视频精品免费下载| 亚洲第一街区偷拍街拍| 亚洲AV无码一区二区三区DV| 好吊妞998视频免费观看在线| 中文在线日本免费永久18近| 亚洲AV成人噜噜无码网站| 国产亚洲日韩一区二区三区| 国产卡二卡三卡四卡免费网址| h视频在线免费观看| 亚洲成A人片在线播放器| 亚洲AV无码专区国产乱码4SE| 免费a级毛片网站| 动漫黄网站免费永久在线观看| 最新亚洲成av人免费看| 亚洲国产精品无码久久九九大片 | yellow视频免费在线观看| 中文字幕乱码亚洲无线三区 | 伊人免费在线观看高清版| 亚洲国产精品无码久久九九大片| 久久亚洲AV成人出白浆无码国产| 亚洲精品国产福利一二区| 成全视频在线观看免费高清动漫视频下载 | 久久久久亚洲精品无码系列| 免费人成网站在线高清| 亚洲第一成年免费网站| 无码人妻一区二区三区免费看 | 亚洲丁香婷婷综合久久| 33333在线亚洲| 亚洲三级电影网址| 国产日韩亚洲大尺度高清| 亚洲国产精品激情在线观看|