`
牧羊人
  • 浏览: 210975 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ImageIO读jpg的时候出现exception:bandOffsets.length is wr

    博客分类:
  • java
阅读更多
用java处理图片的时候,ImageIO读jpg的时候出现exception:bandOffsets.length is wrong。我也遇到过,最终也解决啦,把成果跟大家分享。

原因可能是JPEG图片的ICC信息可能已经被破坏了,所以ImageIO会抛出异常

解决办法:


BufferedImage bis = null; 
   try{ 
       bis = ImageIO.read(file); 
       bis.getWidth(); 
       bis.getHeight(); 
   }catch(Exception e){ 
    try 
    { 
     ThumbnailConvert tc = new ThumbnailConvert(); 
     tc.setCMYK_COMMAND(file.getPath()); 
     Image image =null; 
     image = Toolkit.getDefaultToolkit().getImage(file.getPath()); 
       MediaTracker mediaTracker = new MediaTracker(new Container()); 
     mediaTracker.addImage(image, 0); 
     mediaTracker.waitForID(0); 
      image.getWidth(null); 
     image.getHeight(null); 
    }catch (Exception e1){ 
     e1.printStackTrace(); 
    } 
   } 




这两句代码,是处理cmyk类型的图片,需要ImageMagick的支持

ThumbnailConvert tc = new ThumbnailConvert();
     tc.setCMYK_COMMAND(file.getPath());//用于把cmyk转成rgb

ImageMagick的具体指令是:mogrify -colorspace RGB -quality 100 file1



ThumbnailConvert:
private String CMYK_COMMAND = "mogrify -colorspace RGB -quality 80 file1";//转换cmyk格式 

public void setCMYK_COMMAND(String file1) { 
exeCommand(CMYK_COMMAND.replace("file1", file1)); 
} 

public boolean exeCommand(String cmd){ 
InputStreamReader ir = null; 
LineNumberReader input = null; 
try 
{ 
//linux下java执行指令:Runtime.getRuntime().exec (String str); 
Process process = Runtime.getRuntime().exec (cmd); 
ir=new InputStreamReader(process.getInputStream()); 
input = new LineNumberReader (ir); 
while ((input.readLine ()) != null){ 
} 
ir.close(); 
input.close(); 
} 
catch (java.io.IOException e){ 
System.err.println ("IOException " + e.getMessage()); 
return false; 
} 
return true; 
} 
分享到:
评论
1 楼 FYIHDG 2014-08-14  
  • [list]
  • [*][list]
  • [*][*][list]
  • [*][*][*][list]
  • [*][*][*][*][list]
  • [*][*][*][*][*][list]
  • [*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][img][url][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]
    [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]
    |
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]
  • [/url][/img]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][/list]
  • [*][*][*][*][*][/list]
  • [*][*][*][*][/list]
  • [*][*][*][/list]
  • [*][*][/list]
  • [*][/list]
  • [/list]
  • [/list]

    相关推荐

      jai-imageio-core-1.4.0-API文档-中英对照版.zip

      赠送jar包:jai-imageio-core-1.4.0.jar; 赠送原API文档:jai-imageio-core-1.4.0-javadoc.jar; 赠送源代码:jai-imageio-core-1.4.0-sources.jar; 赠送Maven依赖信息文件:jai-imageio-core-1.4.0.pom; 包含...

      imageio-core-3.1.1-API文档-中文版.zip

      赠送jar包:imageio-core-3.1.1.jar; 赠送原API文档:imageio-core-3.1.1-javadoc.jar; 赠送源代码:imageio-core-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-core-3.1.1.pom; 包含翻译后的API文档:...

      jai-imageio-core-1.4.0-API文档-中文版.zip

      赠送jar包:jai-imageio-core-1.4.0.jar; 赠送原API文档:jai-imageio-core-1.4.0-javadoc.jar; 赠送源代码:jai-imageio-core-1.4.0-sources.jar; 赠送Maven依赖信息文件:jai-imageio-core-1.4.0.pom; 包含...

      webp-imageio-0.4.2.zip

      webp-imageio-0.4.2.zip 包含:.jar .so/.dll 涵盖linux 32/64 windows 32/64 版本

      imageio-core-3.1.1-API文档-中英对照版.zip

      赠送jar包:imageio-core-3.1.1.jar; 赠送原API文档:imageio-core-3.1.1-javadoc.jar; 赠送源代码:imageio-core-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-core-3.1.1.pom; 包含翻译后的API文档:...

      imageio-2.3.0-py2.py3-none-any.whl

      imageio 2.3.0版本,下载到本地进行安装,直接pip安装可能因为下载文件速度太慢而报错。安装方法:1.打开cmd 2.安装whl文件,pip install imageio-2.3.0-py2.py3-none-any.whl(依赖会自行安装,下载速度还可以)

      imageio-psd-3.1.1-API文档-中文版.zip

      赠送jar包:imageio-psd-3.1.1.jar; 赠送原API文档:imageio-psd-3.1.1-javadoc.jar; 赠送源代码:imageio-psd-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-psd-3.1.1.pom; 包含翻译后的API文档:...

      javax.imageio-1.0.5.jar

      javax.imageio-1.0.5.jar, java处理图片的库。 从maven中央仓库下载的。实测可用。

      imageio-bmp-3.1.1-API文档-中文版.zip

      赠送jar包:imageio-bmp-3.1.1.jar; 赠送原API文档:imageio-bmp-3.1.1-javadoc.jar; 赠送源代码:imageio-bmp-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-bmp-3.1.1.pom; 包含翻译后的API文档:...

      imageio-tiff-3.1.1-API文档-中文版.zip

      赠送jar包:imageio-tiff-3.1.1.jar; 赠送原API文档:imageio-tiff-3.1.1-javadoc.jar; 赠送源代码:imageio-tiff-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-tiff-3.1.1.pom; 包含翻译后的API文档:...

      imageio-tiff-3.1.1-API文档-中英对照版.zip

      赠送jar包:imageio-tiff-3.1.1.jar; 赠送原API文档:imageio-tiff-3.1.1-javadoc.jar; 赠送源代码:imageio-tiff-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-tiff-3.1.1.pom; 包含翻译后的API文档:...

      imageio-jpeg-3.1.1-API文档-中文版.zip

      赠送jar包:imageio-jpeg-3.1.1.jar; 赠送原API文档:imageio-jpeg-3.1.1-javadoc.jar; 赠送源代码:imageio-jpeg-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-jpeg-3.1.1.pom; 包含翻译后的API文档:...

      imageio-jpeg-3.1.1-API文档-中英对照版.zip

      赠送jar包:imageio-jpeg-3.1.1.jar; 赠送原API文档:imageio-jpeg-3.1.1-javadoc.jar; 赠送源代码:imageio-jpeg-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-jpeg-3.1.1.pom; 包含翻译后的API文档:...

      Java图片处理ImageIO.read()问题

      NULL 博文链接:https://o-oand0-0.iteye.com/blog/1585854

      jai-imageio-core-1.3.0-API文档-中文版.zip

      赠送jar包:jai-imageio-core-1.3.0.jar; 赠送原API文档:jai-imageio-core-1.3.0-javadoc.jar; 赠送源代码:jai-imageio-core-1.3.0-sources.jar; 赠送Maven依赖信息文件:jai-imageio-core-1.3.0.pom; 包含...

      imageio-bmp-3.1.1-API文档-中英对照版.zip

      赠送jar包:imageio-bmp-3.1.1.jar; 赠送原API文档:imageio-bmp-3.1.1-javadoc.jar; 赠送源代码:imageio-bmp-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-bmp-3.1.1.pom; 包含翻译后的API文档:...

      imageio-psd-3.1.1-API文档-中英对照版.zip

      赠送jar包:imageio-psd-3.1.1.jar; 赠送原API文档:imageio-psd-3.1.1-javadoc.jar; 赠送源代码:imageio-psd-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-psd-3.1.1.pom; 包含翻译后的API文档:...

      imageio-metadata-3.1.1-API文档-中文版.zip

      赠送jar包:imageio-metadata-3.1.1.jar; 赠送原API文档:imageio-metadata-3.1.1-javadoc.jar; 赠送源代码:imageio-metadata-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-metadata-3.1.1.pom; 包含...

      图片处理 javax.imageio.IIOException: Unsupported Image Type

      NULL 博文链接:https://zhangmingji.iteye.com/blog/1969693

      imageio-metadata-3.1.1-API文档-中英对照版.zip

      赠送jar包:imageio-metadata-3.1.1.jar; 赠送原API文档:imageio-metadata-3.1.1-javadoc.jar; 赠送源代码:imageio-metadata-3.1.1-sources.jar; 赠送Maven依赖信息文件:imageio-metadata-3.1.1.pom; 包含...

    Global site tag (gtag.js) - Google Analytics