【问题标题】:IOException loading PNG imageIOException 加载 PNG 图像
【发布时间】:2015-05-19 17:42:33
【问题描述】:

我目前正在使用 Canvas 进行学校 J2ME 项目,我正在尝试让乒乓球应用程序为明天的考试做好准备,但是当使用 Image.createImage(url) 加载 PNG 图像时,我得到一个 IOException(图像在正确的 src 文件中,它是 32x32 像素)

这是我的代码:

public class BallGame extends GameCanvas implements Runnable {

private Image ballImg;

private Sprite ballSprite;
private String url="/ball.PNG";
private int ballX = getWidth() / 2;
private int ballY = getHeight() / 2;

public BallGame() {
    super(false);
}

public void run() {

    while (true) {
        try {
            updateScreen(getGraphics());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

public void start() {
    try {
        ballImg = Image.createImage(url);

    } catch (IOException ex) {
        System.out.println("*********");
        ex.printStackTrace();
        System.out.println("********************");
    }

    ballSprite = new Sprite(ballImg, 32, 32);
    ballSprite.setRefPixelPosition(16, 16);
    ballSprite.setPosition(ballX, ballY);

    Thread runner = new Thread(this);
    runner.start();

}

public void Createbackground(Graphics g) {
    g.setColor(0x000000);
    g.fillRect(0, 0, getWidth(), getHeight());
}

public void updateScreen(Graphics graphics) {
    Createbackground(graphics);
    ballSprite.setRefPixelPosition(ballX, ballY);
    ballSprite.paint(graphics);
    flushGraphics();

}

public void moveBall() {

}}

【问题讨论】:

  • 天哪,这个标题成功了
  • 如果您粘贴获得的 stackTrace,可能会更容易获得帮助。另外,如果您使用正确的问题标题!
  • 我花了 30 分钟轻松输入标题,但它们没有被接受。
  • @MohamedAssilMekki 我有疑问。
  • 清理了语法、拼写和大小写,删除了措辞并添加了一个像样的标题

标签: java-me


【解决方案1】:

在我看来,您的路径错误或文件所有权存在一些问题。检查是否有其他程序正在编辑它。

您是否尝试过添加完整的绝对路径? 您是否也尝试过在同一文件夹中使用“ball.png”图像而没有文件夹路径,例如:

private String url="ball.PNG";

如果可行,那肯定是路径问题。

在我的 J2ME 设备版本中,当我打开文件时,我的路径开始如下:

String path_start="file:///a:/";

【讨论】:

    猜你喜欢
    • 2015-01-30
    • 2023-03-27
    • 1970-01-01
    • 2019-11-08
    • 2019-08-08
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多