java图片处理Unsupported Image Type解决
使用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解决相关推荐
- 图片压缩Unsupported Image Type异常,解决方法
问题 需要对上传的大图片,在存储原文件后,另对它进行压缩存储作为缩略图.部分jpg图片在压缩时报错,导致没有压缩直接保存.网站页面展示这些5M左右的图片,打开变慢,影响使用 javax.imageio ...
- 415 (Unsupported Media Type)
接口: package com.wdg.index.controller;import java.util.Map;import org.springframework.web.bind.annota ...
- Http 415:Unsupported Media Type
问题 在用POST方式携带token访问一个API接口时,发现返回状态码为415,错误信息为"Unsupported Media Type" 解决方法 在请求头加入"Co ...
- 图片处理 javax.imageio.IIOException: Unsupported Image Type
2019独角兽企业重金招聘Python工程师标准>>> 图片处理 javax.imageio.IIOException: Unsupported Image Type 博客分类: j ...
- 解决错误:No module named ‘Cryptodome‘ 和错误rosbag.bag.ROSBagException: unsupported compression type: lz4
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 解决错误:No module named 'Cryptodome' 和错误rosbag.bag.ROSBagExcept ...
- 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 ...
- Spring Cloud OAuth2中访问/oauth/token报Unsupported grant type: password问题的解决
Spring Cloud OAuth2中访问/oauth/token报Unsupported grant type: password问题的解决 问题分析 问题解决 问题分析 在新建的Spring C ...
- 解决ImageIo图像类型不支持的异常:Unsupported Image Type
在做图片压缩时,遇到如下错误: javax.imageio.IIOException: Unsupported Image Type 原因是jdk自带的jpeg解析器不能解析所有jpeg格式的图片,如 ...
- 解决pip安装时出现报错TypeError: unsupported operand type(s) for -=: ‘Retry‘ and ‘int‘
我在Linux下使用pip安装时出现报错: Exception: Traceback (most recent call last):File "/usr/lib/python2.7/dis ...
最新文章
- 机房收费系统【VB版】——选择下机
- 明日开播 | 7 场不可错过的 AI 技术专题
- 应届前端面试——看这篇就够了(一)
- 【c语言】蓝桥杯算法提高 输出三个整数的最大数
- RMAN-06214问题处理
- 台湾证券交易开通运营现代化数据中心
- 解决cvc-complex-type.2.4.a: Invalid content was found starting with element
- swing GeneralPath::cubicTo绘制平滑曲线
- asp.net数据格式的Format-- DataFormatString
- 上市公司降价200万卖房仍然无人接手,有的甚至降价1900万
- 织梦自定义图片字段和缩略图一样_织梦图片集模型自定义图片字段调用
- 93没有了_93平旧两居大变身,二手房这样装修10万块搞定
- java语言用数组接收字符_Java基础——数组应用之字符串String类
- jQuery jsonp跨域请求
- 【渝粤教育】电大中专测量学 (4)作业 题库
- Atitit sumdoc index v6 u33.docx Atitit sumdoc index s99 目录 1. Zip ver 1 1.1. C:\Users\Adminis
- 英语思维导图大全 数词(八)
- matlab aic sic,ADF检验的时候选用AIC和SIC得到的结论不一致应该如何选择?
- WIN7 旗舰版已激活但还是黑屏的解决方法
- 约会Rendezvous