`
cjc19762338
  • 浏览: 61735 次
  • 性别: 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

分享到:
评论
6 楼 lonelydark 2008-09-18  
留出QQ了~`

149548972
5 楼 lonelydark 2008-09-18  
还有几个问题想请教一下你~方便的话,留一下QQ.或者加一下我~

149547872

谢谢~`
4 楼 cjc19762338 2008-09-18  
你需要安装imagemagick,到http://www.imagemagick.org下载安装
3 楼 cjc19762338 2008-09-18  

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;
}
2 楼 lonelydark 2008-09-18  
我现在的问题比较郁闷~~

在读取cmyk模式的图片时,报javax.imageio.IIOException: Unsupported Image Type
1 楼 lonelydark 2008-09-18  
能不能把ThumbnailConvert 贴出来看看

相关推荐

    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; 包含...

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

    在Java编程环境中,图片处理是一项常见的任务,但有时可能会遇到“javax.imageio.IIOException: Unsupported Image Type”的错误。这个异常通常表示Java的`ImageIO`类库无法识别或支持所尝试读取或写入的图像格式。...

    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文档:...

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

    在Java编程中,图片处理...总的来说,理解和使用`ImageIO.read()`需要对Java I/O机制有一定了解,并能处理可能出现的各种异常情况。通过学习源码,开发者可以更深入地理解其工作原理,从而更好地应对实际开发中的挑战。

    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

    2. **写入 WebP 图像**:利用 ImageIO.write() 方法,将 Java 中的 BufferedImage 对象转换为 WebP 格式,进行文件保存或网络传输。 3. **支持透明度和动画**:由于 WebP 支持透明通道(Alpha 通道),这个库同样...

    javax.imageio-1.0.5.jar

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

    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-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文档:...

    tesseract识别中文的com.sun.media.imageio.plugins.tiff.TIFFImageWriteParam下载

    OCR(Optical Character Recognition,光学字符识别)技术是将图像中的文本转换为机器可读格式的关键工具,而`com.sun.media.imageio.plugins.tiff.TIFFImageWriteParam`则是Java中处理TIFF图像格式时的一个关键类,...

    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-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-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; 包含...

    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文档:...

    tesseract识别中文的com.sun.media.imageio.plugins.tiff.TIFFImageWriteParam.rar

    标题中的“tesseract识别中文的com.sun.media.imageio.plugins.tiff.TIFFImageWriteParam.rar”指出这是一个与Tesseract OCR相关的压缩包,包含了用于处理中文的资源和参数,特别是与TIFF图像格式有关的写入参数。...

    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文档:...

    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; 包含...

    jai_codec-1.1.3.jar jai_core.jar jai_imageio.jar jimi-1.0.jar

    jai_codec-1.1.3.jar jai_core.jar jai_imageio.jar jimi-1.0.jar

Global site tag (gtag.js) - Google Analytics