<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
    主站蜘蛛池模板: 精品国产免费观看久久久| 91香蕉成人免费网站| 免费一级毛片女人图片| 丰满亚洲大尺度无码无码专线 | 一级毛片免费播放试看60分钟| 日韩精品无码人妻免费视频| 国产精品亚洲精品久久精品 | 国产成人亚洲精品播放器下载 | 国产亚洲色视频在线| 亚美影视免费在线观看| 亚洲午夜无码久久久久| 国色精品va在线观看免费视频| 亚洲ⅴ国产v天堂a无码二区| 69视频在线是免费观看| 久久亚洲AV成人无码| 毛片大全免费观看| 亚洲欧美国产国产综合一区| 免费在线观看一级毛片| 最近免费中文字幕MV在线视频3| 亚洲一区二区三区电影| 希望影院高清免费观看视频| 亚洲七久久之综合七久久| 亚洲AⅤ视频一区二区三区 | 久久午夜羞羞影院免费观看 | 亚洲国产精品自在在线观看| 亚洲一区二区三区高清在线观看| 久久午夜免费视频| 日韩精品亚洲专区在线影视| 亚洲人成人网站在线观看| 久久大香香蕉国产免费网站| 亚洲人成黄网在线观看| 国产精品国产免费无码专区不卡| a一级毛片免费高清在线| 亚洲视频精品在线观看| 在线免费观看韩国a视频| 中文字幕免费在线视频| 亚洲精品国产第1页| 免费在线观看的黄色网址| 无码精品国产一区二区三区免费| 久久狠狠爱亚洲综合影院| 亚洲XX00视频|