我想使用
加载以下gif文件ImageIO.read(new URL("http://logos.affili.net/120x40/10421.gif"))
并且此行抛出
javax.imageio.IIOException: Unsupported Image Type
为什么呢?有没有办法加载这样的文件?我只需要加载它们来确定图像大小(高度和重量),以像素为单位。
答案 0 :(得分:2)
问题是:
a)问题"http://logos.affili.net/120x40/10421.gif"
中的图像不是GIF,尽管它是扩展名,它是一个JPEG(这对于ImageIO来说实际上是可以的,因为它无论如何都不会查看文件扩展名,但它是分析)。
b)此外,图像是CMYK(YCCK)JPEG。标准JPEGImageReader
不处理CMYK JPEG,并导致您遇到的异常。
您可以使用我的JPEG ImageIO plugin阅读此类文件,或查看其他替代方案,如Sanselan / Commons Imaging,JAI等。
有关详细信息,请参阅Java ImageIO IIOException: Unsupported image type?和Pure Java alternative to JAI ImageIO for detecting CMYK images。