<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
    主站蜘蛛池模板: 国产免费午夜a无码v视频| MM131亚洲国产美女久久| 久久影视综合亚洲| 亚洲一级毛片在线播放| 免费国产草莓视频在线观看黄| 人人揉揉香蕉大免费不卡| 夜夜爽免费888视频| 亚洲av无码一区二区乱子伦as| 亚洲小说图区综合在线| a级片免费在线播放| 在线观看免费亚洲| 亚洲首页在线观看| 久久九九久精品国产免费直播| 西西大胆无码视频免费| 亚洲国产精彩中文乱码AV| 亚洲爆乳AAA无码专区| 免费女人高潮流视频在线观看| 免费一级黄色毛片| 亚洲一卡二卡三卡| 十八禁在线观看视频播放免费| 免费的涩涩视频在线播放| 亚洲va在线va天堂va888www| 国产精品亚洲а∨天堂2021 | 中文字幕亚洲综合久久| 人体大胆做受免费视频| 免费毛片在线视频| 91情国产l精品国产亚洲区| 91av免费在线视频| 四虎国产精品免费久久影院| 亚洲AV无码一区二区三区人| 久久久精品午夜免费不卡| 亚洲精品无码久久毛片| 在线观看亚洲AV每日更新无码| 久久成人免费电影| 亚洲免费在线观看| 亚洲AV日韩AV永久无码色欲| 97性无码区免费| 亚洲免费在线视频| 黄网站色视频免费在线观看的a站最新| 免费a级毛片无码av| 亚洲色大网站WWW永久网站|