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

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

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

    HelloWorld 善戰者,求之于勢,不責于人;故能擇人而任勢。

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

      BlogJava :: 首頁 ::  :: 聯系 ::  :: 管理 ::
      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 目標圖片
           * @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 目標圖片
           * @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
    主站蜘蛛池模板: 四虎成人免费影院网址| 日本不卡免费新一二三区| 国产亚洲精品资源在线26u| 免费的黄色网页在线免费观看| 国产高清免费在线| 无套内射无矿码免费看黄| 亚洲精品乱码久久久久久蜜桃| 一级毛片aa高清免费观看| 亚洲乱码中文字幕综合| 成人免费区一区二区三区| 亚洲视频在线免费看| 久久久久av无码免费网| 亚洲综合偷自成人网第页色| 午夜神器成在线人成在线人免费| 亚洲综合激情五月丁香六月 | a级毛片无码免费真人久久| 久久精品国产69国产精品亚洲| 国偷自产一区二区免费视频| 99久久精品国产亚洲| 好爽…又高潮了毛片免费看| 美女黄频免费网站| 亚洲精品无码永久在线观看你懂的| 国产精品白浆在线观看免费| 国产黄色片免费看| 亚洲国产成人精品91久久久| 久久久久久国产a免费观看不卡| 亚洲AV无码久久寂寞少妇| 国产在线a免费观看| 亚洲AV成人无码久久WWW| 在线观看午夜亚洲一区| 3344永久在线观看视频免费首页| 亚洲性色AV日韩在线观看| 亚洲精品无码你懂的网站| 91在线手机精品免费观看| 亚洲一线产区二线产区区| 亚洲欧洲日本在线| 91成人免费观看网站| 本道天堂成在人线av无码免费| 亚洲电影免费观看| 日韩精品亚洲专区在线观看| 日本免费在线观看|