Сгенерированные Java изображения не могут быть использованы в коде, который их сгенерировал? - PullRequest
1 голос
/ 28 марта 2012

Я пытаюсь написать симулятор робота 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: enter image description here

1 Ответ

1 голос
/ 28 марта 2012

У меня нет проблем с вашим кодом в затмении, за исключением цветов эллипса. Что вы имеете в виду, говоря "код падает"? Вы делаете исключение? Какая информация в этом? Может быть, у вас просто нет пути "src / sprites"?

...