使用java读取JPEG报错Unsupported Image Type:

javax.imageio.IIOException: Unsupported Image Typeat com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)at javax.imageio.ImageIO.read(Unknown Source)at javax.imageio.ImageIO.read(Unknown Source)

一、异常解释
javax.imageio.IIOException: Unsupported Image Type异常一般情况是由于图片颜色模式是CMYK导致的,Java默认是没带CMYK格式读取的功能的,内部读取文件的类JPEGImageReader只能读取RGB color model

二、解决方案
使用TwelveMonkeys就可以解决了。
TwelveMonkeys的使用比较简单,只要把相关的jar包加入到类路径,他的类我们基本不会用到,只要使用jdk ImageIO或其上层的接口就行了。JDK的ImageIO有自动发现功能,会自动查找相关的编解码类并使用,而不使用jdk默认的编解码类。

引入新的maven依赖

<!--imageio-jpeg CMYK模式读取支持-->
<dependency><groupId>com.twelvemonkeys.imageio</groupId><artifactId>imageio-jpeg</artifactId><version>3.6</version>
</dependency>

使用以下参考的方法均有颜色异常,读twelvemonkeys源码也是用的ICCProfiles进行转换,查到的一个工具类是FastCMYKToRGB,但是单独摘出来使用颜色还是有偏差。下面参考中convertCmykToRgb方法也是使用ICCProfiles进行转换,但是也是颜色异常,只有TwelveMonkeys的imageio-jpeg是最简答的方案,如有直接转换的可贴上代码一起讨论。

参考:
Java CMYK图片转RGB图片
TwelveMonkeys图片格式转换git地址
java下cmyk图片读取和转换rgb,以及图片压缩
Java 读取jpeg图片 Unsupported Image Type 异常
有颜色异常
Java读取图片 cmyk转rgb
java下cmyk图片读取和转换rgb
使用convertCmykToRgb方法颜色异常
Java读取图片 cmyk转rgb
Reading CMYK JPEG images with Java ImageIO

AdobeICCProfilesCS4Win_end-user.zip下载
为什么 ARGB 和 CMYK 之间来回转换会不断损失颜色

java图片处理Unsupported Image Type解决相关推荐

  1. 图片压缩Unsupported Image Type异常,解决方法

    问题 需要对上传的大图片,在存储原文件后,另对它进行压缩存储作为缩略图.部分jpg图片在压缩时报错,导致没有压缩直接保存.网站页面展示这些5M左右的图片,打开变慢,影响使用 javax.imageio ...

  2. 415 (Unsupported Media Type)

    接口: package com.wdg.index.controller;import java.util.Map;import org.springframework.web.bind.annota ...

  3. Http 415:Unsupported Media Type

    问题 在用POST方式携带token访问一个API接口时,发现返回状态码为415,错误信息为"Unsupported Media Type" 解决方法 在请求头加入"Co ...

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

    2019独角兽企业重金招聘Python工程师标准>>> 图片处理 javax.imageio.IIOException: Unsupported Image Type 博客分类: j ...

  5. 解决错误:No module named ‘Cryptodome‘ 和错误rosbag.bag.ROSBagException: unsupported compression type: lz4

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 解决错误:No module named 'Cryptodome' 和错误rosbag.bag.ROSBagExcept ...

  6. java.util.list 报错_Java 报错 .updateValue' has an unsupported return type: interface java.util.List...

    问题描述 org.apache.ibatis.binding.BindingException: Mapper method****updateValue' has an unsupported re ...

  7. Spring Cloud OAuth2中访问/oauth/token报Unsupported grant type: password问题的解决

    Spring Cloud OAuth2中访问/oauth/token报Unsupported grant type: password问题的解决 问题分析 问题解决 问题分析 在新建的Spring C ...

  8. 解决ImageIo图像类型不支持的异常:Unsupported Image Type

    在做图片压缩时,遇到如下错误: javax.imageio.IIOException: Unsupported Image Type 原因是jdk自带的jpeg解析器不能解析所有jpeg格式的图片,如 ...

  9. 解决pip安装时出现报错TypeError: unsupported operand type(s) for -=: ‘Retry‘ and ‘int‘

    我在Linux下使用pip安装时出现报错: Exception: Traceback (most recent call last):File "/usr/lib/python2.7/dis ...

最新文章

  1. 机房收费系统【VB版】——选择下机
  2. 明日开播 | 7 场不可错过的 AI 技术专题
  3. 应届前端面试——看这篇就够了(一)
  4. 【c语言】蓝桥杯算法提高 输出三个整数的最大数
  5. RMAN-06214问题处理
  6. 台湾证券交易开通运营现代化数据中心
  7. 解决cvc-complex-type.2.4.a: Invalid content was found starting with element
  8. swing GeneralPath::cubicTo绘制平滑曲线
  9. asp.net数据格式的Format-- DataFormatString
  10. 上市公司降价200万卖房仍然无人接手,有的甚至降价1900万
  11. 织梦自定义图片字段和缩略图一样_织梦图片集模型自定义图片字段调用
  12. 93没有了_93平旧两居大变身,二手房这样装修10万块搞定
  13. java语言用数组接收字符_Java基础——数组应用之字符串String类
  14. jQuery jsonp跨域请求
  15. 【渝粤教育】电大中专测量学 (4)作业 题库
  16. Atitit sumdoc index  v6 u33.docx Atitit sumdoc index s99 目录 1. Zip ver 1 1.1. C:\Users\Adminis
  17. 英语思维导图大全 数词(八)
  18. matlab aic sic,ADF检验的时候选用AIC和SIC得到的结论不一致应该如何选择?
  19. WIN7 旗舰版已激活但还是黑屏的解决方法
  20. 约会Rendezvous

热门文章

  1. 网络爬虫ip防止被封常见的三种解决方法
  2. 利用React 自定义Hooks实现业务逻辑复用实例
  3. 存储管理:先进先出算法和最近最少使用算法
  4. 手把手教会你怎么压缩JPG图片
  5. 咸鱼Maya笔记—NURBS倒角
  6. day17-面向对象和json
  7. 中国人为什么勤劳却不富有?
  8. SAR成像系列:【12】层析合成孔径雷达(层析SAR,Tomographic SAR,TomoSAR)
  9. Mobileye闯红灯之后,这些问题值得我们深思
  10. nacos.discovery 的全部配置