1

ロボットが障害物を回避できる lejOS を使用して NXT ロボット シミュレータを作成しようとしていますが、障害物をコードで生成したいと考えています。以下のコードでは、Circle.jpg を作成できますが、作成した画像を使用しようとするとコードがクラッシュします。このコードは Intellij IDEA で動作しますが、以前に生成された画像とは一致しません。次のことを試してみましたが、結果はありません。

  • .jpg の代わりに .png を使用
  • 以前の実行によって使用および生成されたイメージ。つまり、既に存在していました。
  • 不透明から半透明などにタイプ変更。

その場で画像を生成するときに画像が私のコードをクラッシュさせるのは何をしているのか疑問に思っていますか?

更新:新しい jpg を呼び出すために使用するコマンドを追加し、エラーの画像を追加しました。

public static void obstacleFactory() 
{
    int width = 30;
    int height = 30;

    GraphicsEnvironment environment = 
            GraphicsEnvironment.getLocalGraphicsEnvironment();

    GraphicsDevice device = 
            environment.getDefaultScreenDevice();

    GraphicsConfiguration config = device.getDefaultConfiguration();

    BufferedImage bufferedImage = config.createCompatibleImage(width, height, 
            Transparency.TRANSLUCENT);

    Graphics2D g2d = bufferedImage.createGraphics();

    g2d.setColor(Color.yellow);
    g2d.fillOval(0, 0, width, height);

    g2d.dispose();

    RenderedImage rendImage = bufferedImage;

    try {
        File file = new File("src/sprites/Circle.jpg");
        ImageIO.write(rendImage, "jpg", file);
    } catch (IOException e) {}
}

そして、jpgを呼び出すために使用するコマンドは

NxtContext.useObstacle("sprites/Circle.jpg", 250, 475);

これは日食が言うことです: ここに画像の説明を入力

4

1 に答える 1

1

楕円の色を除いて、Eclipse のコードに問題はありません。「コードがクラッシュする」とはどういう意味ですか? 例外を認めますか?そこにはどんな情報が?「src/sprites」パスがないだけでしょうか?

于 2012-03-28T05:28:36.720 に答える