乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      上傳圖片的縮放處理

       昵稱2807 2005-11-18
      上傳圖片的縮放處理

      圖片上傳到服務(wù)器后,會根據(jù)情況將圖片縮小成一個圖標(biāo),我們可以利用java強大的圖形處理功能,對上傳的圖片進行縮放處理.

      下面的程序使用jdk1.4中最新的ImageIO對圖片進行讀寫.使用AffineTransform對圖片進行縮放.

      import java.io.File;
      import java.awt.image.BufferedImage;
      import java.awt.Image;
      import java.awt.image.AffineTransformOp;
      import javax.imageio.ImageIO;
      import java.awt.geom.AffineTransform;

      public class UploadImg{

      /**
      * @param fromdir 圖片的原始目錄
      * @param todir 處理后的圖片存放目錄
      * @param imgfile 原始圖片
      * @param sysimgfile 處理后的圖片文件名前綴
      *
      */
      ............................
      public boolean CreateThumbnail() throws Exception
      {
      //ext是圖片的格式 gif JPG 或png
      String ext="";
      double Ratio=0.0;
      File F = new File(fromdir,imgfile);
      if (!F.isFile())
      throw new Exception(F+" is not image file error in CreateThumbnail!");

      //首先判斷上傳的圖片是gif還是JPG ImageIO只能將gif轉(zhuǎn)換為png
      if (isJpg(imgfile)){
      ext="jpg";
      }else{
      ext="png";
      }
      File ThF = new File(todir,sysimgfile+"."+ext);


      BufferedImage Bi = ImageIO.read(F);
      //假設(shè)圖片寬 高 最大為120 120
      Image Itemp = Bi.getScaledInstance (120,120,Bi.SCALE_SMOOTH);


      if ((Bi.getHeight()>120) || (Bi.getWidth()>120)){
      if (Bi.getHeight()>Bi.getWidth())
      Ratio = 120.0/Bi.getHeight();
      else
      Ratio = 120.0/Bi.getWidth();
      }

      AffineTransformOp op = new AffineTransformOp(AffineTransform.getScaleInstance(Ratio, Ratio), null);
      Itemp = op.filter(Bi, null);

      try {
      ImageIO.write((BufferedImage)Itemp, ext, ThF);
      }catch (Exception ex) {
      throw new Exception(" ImageIo.write error in CreatThum.: "+ex.getMessage());
      }
      return (true);
      }
      }


      該程序使用了Java 的AWT,在linux下運行可能報錯,有兩種解決方式:

      (1) jdk1.4以前版本:需要安裝 XFree86和XFree86-Xvfb ,加入 export DISPLAY=hostdomain:0.0

      (2) jdk 1.4以后版本,在執(zhí)行命令java 加入?yún)?shù)-Djava.awt.headless=true,表示這是一個沒有鍵盤 沒有顯示器的無頭服務(wù)器,意稱機房托管的服務(wù)器。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約