缓冲图像找不到文件

时间:2013-11-25 10:17:30

标签: java swing awt

我正在尝试从文件创建调整大小的缓冲图像。最初我只是在文件中读取Image类型。我想调整它的大小,所以我开始尝试使用BufferedImage。将文件读入Image类型效果很好,但现在它在阅读时抛出异常。这是代码。

BufferedImage origImage = ImageIO.read(new File("/resources/Door&Vase.jpg"));
            int type = origImage.getType() == 0? BufferedImage.TYPE_INT_ARGB : origImage.getType();
            image = super.resizeImage(origImage, type);

以下是有效的代码:

image = (new ImageIcon(getClass().getResource("/resources/Door&Vase.jpg"))).getImage();

在第一种情况下,image是BufferedImage。在第二个它只是一个图像。在读取文件时(第一行)代码抛出异常,但我也尝试了绝对路径。所以,不知道。

1 个答案:

答案 0 :(得分:4)

使用的代码getClass().getResource("/resources/Door&Vase.jpg")),但代码不使用new File("/resources/Door&Vase.jpg")

相反,您应该使用getClass().getResource("/resources/Door&Vase.jpg")),例如......

BufferedImage origImage = ImageIO.read(getClass().getResource("/resources/Door&Vase.jpg"));