Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法查看BuffereImage_Java_Swing - Fatal编程技术网

Java 无法查看BuffereImage

Java 无法查看BuffereImage,java,swing,Java,Swing,我不太会荡秋千。我正在尝试wilchit sombat关于制作packman的游戏教程。我无法查看缓冲区图像。下面是覆盖游戏引擎中某些方法的代码 package game.packman; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import org

我不太会荡秋千。我正在尝试wilchit sombat关于制作packman的游戏教程。我无法查看
缓冲区图像
。下面是覆盖游戏引擎中某些方法的代码

package game.packman;

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import org.Game.Engine.Game;
import org.Game.Engine.GameApplication;

public class PackMan extends Game {

    public static void main(String args[]) {
        GameApplication.start(new PackMan());
    }

    BufferedImage packman;

    public PackMan() {
        title = "PACKMAN";
        width = height = 400;
        try {
            packman = ImageIO.read(new File("images/pacmanimg.xcf"));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


    }

    @Override
    public void init() {


        // TODO Auto-generated method stub

    }

    @Override
    public void update() {
        // TODO Auto-generated method stub

    }

    @Override
    public void draw(Graphics g) {
        g.drawImage(packman, 100, 100, null);


    }

}

图像I/O
内置了对
GIF、PNG、JPEG、BMP和WBMP的支持。映像I/O也是可扩展的,因此开发人员或管理员可以“插件”支持其他格式。例如,
TIFF
JPEG 2000
的插件是单独提供的

因此,
ImageIO
似乎不支持
XCF
:GIMP
图像编辑程序的本机图像格式

参考资料:


  • 图像I/O
    内置了对
    GIF、PNG、JPEG、BMP和WBMP的支持。映像I/O也是可扩展的,因此开发人员或管理员可以“插件”支持其他格式。例如,
    TIFF
    JPEG 2000
    的插件是单独提供的

    因此,
    ImageIO
    似乎不支持
    XCF
    :GIMP
    图像编辑程序的本机图像格式

    参考资料:


  • 租借后检查图像的大小
    packman

    packman = ImageIO.read(new File("images/pacmanimg.xcf"));
    
    如果未加载图像,则宽度/高度为0


    无论如何,最好将图像放在类路径中,并使用getResourceAsStream()通过ImageIO加载它。在相反的情况下,当您将代码打包到jar中时,您需要解决使用文件和相对路径的问题

    贷款后检查图像的大小

    packman = ImageIO.read(new File("images/pacmanimg.xcf"));
    
    如果未加载图像,则宽度/高度为0


    无论如何,最好将图像放在类路径中,并使用getResourceAsStream()通过ImageIO加载它。在相反的情况下,当您将代码打包到jar中时,您需要解决使用文件和相对路径的问题

    我还尝试加载png文件,但仍然面临相同的问题检查您的
    图像
    文件夹是否位于
    打包工
    类文件位置的相同位置。我从未遇到过此类问题,除非
    png
    已损坏!否则,
    ImageIo
    会在文件找不到时引发异常,这就是问题所在,因为我无法在窗口中看到图像,并且程序运行正常,没有任何异常或错误。我也尝试加载png文件,但仍然面临相同的问题检查您的
    images
    文件夹是否位于文件的相同位置
    PackMan
    类文件位置。我从未遇到过这样的问题,除非
    PNG
    已损坏!否则,
    ImageIo
    会在文件找不到时引发异常,这就是问题所在,因为我无法在窗口中看到图像,并且程序运行正常,没有任何异常或错误
    如果图像
    ,则宽度/高度为0-这仅当文件没有我们尝试的实际格式时,或者更正确地说,我已经在评论中提到了。但是
    ImageIO
    甚至不支持
    xcf
    图像类型的文件处理,因为文档中说
    如果图像
    ,则宽度/高度为0-这只是在文件没有我们尝试的实际格式,或者更正确地损坏了文件,我已经在注释中提到过。但是
    ImageIO
    甚至不支持
    xcf
    文档中提到的图像类型文件处理