gpt4 book ai didi

Java swing 图像的高度和宽度始终为 -1

转载 作者:行者123 更新时间:2023-11-29 05:20:56 25 4
gpt4 key购买 nike

我知道该方法在无法获取图像的宽度或高度时会返回 -1,但我希望您能告诉我为什么它无法做到这一点。在这里,我创建了一些 ImageIcons 并将它们保存在图像数组中:

for(int x = 0; x < playerSprites.length; x++){
playerSprites [x] = new ImageIcon("player" + x + ".png").getImage()
}

稍后我创建了一个类的实例,它目前只创建这个数组。当我想从另一个类的数组中获取图像时,我检查它们的高度和宽度,并且我总是在两者上都得到 -1:

public Image nextImage(String name){
Image image = null;
if(name.equals("player")){
if(counter == animationImageManager.getPlayerSprites().length-1){
counter = 0;
}
image = animationImageManager.getPlayerSprites()[counter];
counter++;
}
return image;
}

最佳答案

如果没有找到图像,那么它仍然返回 -1 的高度和宽度。

尝试下面的示例代码来重现问题:

System.out.println(new ImageIcon("").getImage().getWidth(null)); // print -1

值得一读 Loading Images Using getResource 上的 Java 教程


可能是图片加载不正确。

您可以根据图像位置尝试任何一种。

// Read from same package 
ImageIO.read(getClass().getResourceAsStream("c.png"));

// Read from images folder parallel to src in your project
ImageIO.read(new File("images/c.jpg"));

// Read from src/images folder
ImageIO.read(getClass().getResource("/images/c.png"))

// Read from src/images folder
ImageIO.read(getClass().getResourceAsStream("/images/c.png"))

Read more...

关于Java swing 图像的高度和宽度始终为 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24782145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com