爱问知识人 爱问教育 医院库

JAVA实现将上传的图片缩放处理是什么?

首页

JAVA实现将上传的图片缩放处理是什么?

JAVA实现将上传的图片缩放处理是什么?

提交回答

全部答案

    2017-07-28 09:12:51
  •   我们经常将一张很大的图片上传到服务器,但是我们有时候需要调用一个很小的图,那么就需要对该图进行缩略处理,今天我们就用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转换为png   if (isJpg(imgfile)){   ext="jpg";   }else{   ext="png";   }   File ThF = new File(todir,sysimgfile+"。
      "+ext);   BufferedImage Bi = ImageIO。read(F);   //假设图片宽 高 最大为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以后版本,在执行命令java 加入参数-Djava。awt。headless=true,表示这是一个没有键盘 没有显示器的无头服务器,意称机房托管的服务器。
       。

    那***

    2017-07-28 09:12:51

类似问题

换一换
  • 系统软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):