发布于2022-01-22 22:51 阅读(1065) 评论(0) 点赞(14) 收藏(3)
我正在尝试使用 ImageIO.read() 使用 1.7.0u JVM 加载此图像:
http://taste-for-adventure.tablespoon.com/files/2012/02/2012-02-05-poll-hotdog-275w.jpg
Chrome 对此没有任何问题,但 Java 会抛出以下异常:
java.lang.NullPointerException
at java.awt.color.ICC_Profile.intFromBigEndian(ICC_Profile.java:1770)
at java.awt.color.ICC_Profile.getNumComponents(ICC_Profile.java:1462)
at sun.java2d.cmm.lcms.LCMSTransform.<init>(LCMSTransform.java:122)
at sun.java2d.cmm.lcms.LCMS.createTransform(LCMS.java:76)
at java.awt.color.ICC_ColorSpace.fromRGB(ICC_ColorSpace.java:222)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.setImageData(JPEGImageReader.java:635)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(Native Method)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(JPEGImageReader.java:550)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(JPEGImageReader.java:295)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:427)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(JPEGImageReader.java:543)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:986)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:966)
at javax.imageio.ImageIO.read(ImageIO.java:1448)
at javax.imageio.ImageIO.read(ImageIO.java:1400)
众所周知,Java 的图像阅读器很脆弱吗?是否有更强大的 Java 库来加载图像?
嗨,请尝试以下方法,这在 java 1.6 中运行没有任何问题吗?它是否给出相同的例外?
import java.awt.BorderLayout;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class ShowImage {
public static void main(String[] args) {
JFrame frame = new JFrame("Debug Frame");
frame.setSize(200, 200);
frame.setLayout(new BorderLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Image image = null;
JLabel label = null;
try {
image = ImageIO.read(new File("c:/scratch/hotdog.jpg"));
label = new JLabel(new ImageIcon(image));
} catch (IOException e) {
label.setText("Image loading failed");
}
frame.add(label,BorderLayout.CENTER);
frame.setVisible(true);
}
}
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/377044/bd8a8653f2959c523984/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!