【问题标题】:Creating a buffered image in Java, can't read input file error在 Java 中创建缓冲图像,无法读取输入文件错误
【发布时间】:2013-12-05 04:35:20
【问题描述】:

我正在制作一个 JApplet 并尝试在 java 中创建一个缓冲图像,然后在屏幕的每一半上绘制它的子图像(这是一个 2 人游戏)。

声明是:

public File map = new File("Resources/fullmap.png");
public BufferedImage fullmap;

fullmap.png 是我正在使用的整个地图的图像,它位于我的资源文件夹中。

然后我尝试初始化 BufferedImage 并通过这样做来创建子图像:

try { 
            fullmap = ImageIO.read(map);
        } catch (IOException ex) {
            Logger.getLogger(Tankgame.class.getName()).log(Level.SEVERE, null, ex);
        }

Image drawP1Side = fullmap.getSubimage(p1.x, p1.y, w/2, h/2);

但是,我收到一条错误消息,显示“无法读取输入文件”。我是否错误地初始化了我的文件“地图”?任何帮助表示赞赏,谢谢。

【问题讨论】:

    标签: java image file bufferedimage japplet


    【解决方案1】:

    如果是无法读取输入文件,则可能是您的图像路径有问题。 尝试使用

    public File map = new File("/Resources/fullmap.png");
    

    【讨论】:

    • @user2739431 看看here
    【解决方案2】:

    Java 文档指出,在小程序中,您必须做一些稍微不同的事情:

    如果代码在小程序中运行,那么它同样容易获得 来自小程序代码库的图像。以下摘录来自 LoadImageApplet.java:

    try {
        URL url = new URL(getCodeBase(), "Resources/fullmap.png");
        fullmap = ImageIO.read(url);
    } catch (IOException e) {
            Logger.getLogger(Tankgame.class.getName()).log(Level.SEVERE, null, ex);
    }
    

    【讨论】:

    • Hmm 很抱歉听到这个消息,你能给我们提供主文件和图像的完整目录吗,例如:MyFile.html MyFile.java Resources/fullmap.png?
    猜你喜欢
    • 2017-07-01
    • 2011-08-28
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 2020-11-15
    相关资源
    最近更新 更多