解決圖片壓縮出現Unsupported Image Type的問題


在做圖片壓縮時,遇到如下錯誤:

Unsupported Image Type

原因是jdk自帶的jpeg解析器不能解析所有jpeg格式的圖片,如cmyk(印刷品模式)模式的。圖片經過P圖之后,保存時默認的保存格式是cmyk格式的,而不是rgb格式。

cmyk是彩色印刷時采用的一種套色模式,利用色料的三原色混色原理,加上黑色油墨,共計四種顏色混合疊加,形成所謂“全彩印刷”。四種標准顏色是:
C:Cyan =  青色,又稱為‘天藍色’或是‘湛藍’M:Magenta =  品紅色,又稱為‘洋紅色’;Y:Yellow = 黃色;K:Key Plate(blacK) = 定位套版色(黑色),有些文獻解釋說這里的K指代Black黑色,且為了避免與 RGB的Blue藍色混淆不用B而改稱K。
 
解決方案:
使用TwelveMonkeys就可以解決了。
TwelveMonkeys的使用比較簡單,只要把相關的jar包加入到類路徑,他的類我們基本不會用到,只要使用jdk ImageIO或其上層的接口就行了。jdk的ImageIO有自動發現功能,會自動查找相關的編解碼類並使用,而不使用jdk默認的編解碼類,所以使用這個庫是完全無入侵的。
 
maven的依賴代碼如下:
<!-- cmyk格式圖片轉換 -->
    <dependency>
        <groupId>com.twelvemonkeys.imageio</groupId>
        <artifactId>imageio-jpeg</artifactId>
        <version>3.3</version>
    </dependency>
    <dependency>
        <groupId>com.twelvemonkeys.imageio</groupId>
        <artifactId>imageio-tiff</artifactId>
        <version>3.3</version>
    </dependency>

 

參照原文鏈接:

http://www.cnblogs.com/interdrp/p/7076202.html

http://blog.csdn.net/dbeautifullife/article/details/70211021

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM