无法查看bufferedimage

时间:2013-11-08 03:05:55

标签: java swing

我是新手。我正在尝试wilchit sombat制作packman的游戏教程。我无法查看BufferedImage。以下是覆盖游戏引擎中某些方法的代码。

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);


    }

}

2 个答案:

答案 0 :(得分:4)

Image I/O内置了对GIF, PNG, JPEG, BMP, and WBMP的支持。图像I / O也是可扩展的,因此开发人员或管理员可以“插入”对其他格式的支持。例如,TIFFJPEG 2000的插件可单独使用。

因此,XCF似乎不支持GIMP ImageIO图片编辑程序的原生图片格式。

<强>参考:

  1. Reading/Loading an Image

答案 1 :(得分:0)

贷款后检查图像packman的大小

packman = ImageIO.read(new File("images/pacmanimg.xcf"));

如果未加载图像,则为0宽度/高度。

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