ロボットが障害物を回避できる 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);
これは日食が言うことです: