error:LUT has improper length 错误处理

来源:互联网 发布:linux运维面试技巧 编辑:程序博客网 时间:2024/06/01 08:13

使用jdk的ImageIo处理图片缩放,上传原始的没有问题,但是上传处理的就报 error:LUT has improper length,目前根据google的结果,

老外说用了jdk1.5.0.9就没问题了,不过还没试验.

另外,发现上传gif文件时,结果预览图大小为0.

 

今天尝试了另外一种方法,参照 http://blog.csdn.net/fightplane/archive/2005/01/14/253200.aspx

处理代码段

else if("png".equals(suffix)){
      BufferedImage Bi = ImageIO.read(file);
      
      double Ratio = 0.0;
      // 假设图片宽 高 最大为120 120
      Image Itemp = Bi.getScaledInstance(150, 150, Bi.SCALE_SMOOTH);
      if ((Bi.getHeight() > 150) || (Bi.getWidth() > 150)) {
       if (Bi.getHeight() > Bi.getWidth())
        Ratio = 150.0 / Bi.getHeight();
       else
        Ratio = 150.0 / Bi.getWidth();
      }

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

      try {
       ImageIO.write((BufferedImage) Itemp, "png", new File(filesavePath));
      } catch (Exception ex) {
       System.out.println("-----createZoomSizeImage error ImageIo.write---:"+ ex.getMessage());
          log.debug("createZoomSizeImage error:"+ ex.getMessage());
      }
     }

上传成功

原创粉丝点击