Рисование прямоугольника с заливкой поверх BufferedImage

Итак, я пытаюсь создать приложение, которое может -закрывать разделы опроса, содержащие конфиденциальную информацию. Однако я столкнулся с небольшой проблемой.

Что я хочу сделать, так это нарисовать заполненные черные прямоугольники над BufferedImage с учетом x, y, ширины и высоты желаемой области, чтобы затемнить ее, а затем записать это новое изображение обратно в мою файловую систему. Вот мой код.

        File imageFile = new File("images/template.jpg");
        BufferedImage img = ImageIO.read(imageFile);

        Graphics2D graph = img.createGraphics();
        graph.setColor(Color.BLACK);
        graph.fill(new Rectangle(x, y, width, height));
        graph.dispose();

        ImageIO.write(img, "jpg", new File("images/template.jpg"));

По какой-то причине изображение в ресурсе не меняется после этого сегмента кода. Любые идеи о том, что я делаю неправильно?

13
задан John Fox 24 July 2012 в 16:04
поделиться