Я пытаюсь написать симулятор робота NXT с lejOS, где робот может избегать препятствий, но я хочу, чтобы в коде создавались препятствия Приведенный ниже код позволяет создать Circle.jpg, но код падает, если он пытается использовать изображение, которое создает. Код работает в Intellij IDEA, но не затмевает ранее созданное изображение. Я пробовал следующее безрезультатно:
- Использовано .png вместо .jpg
- Используется и изображение, сгенерированное предыдущим прогоном, то есть оно уже существует.
- Изменен тип с непрозрачного на полупрозрачный и т. Д.
Мне интересно, что я делаю, чтобы изображение вылетало из моего кода при генерации изображения на лету?
Обновление: Добавлена команда, используемая для вызова нового 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);
Вот что говорит Eclipse: