Экспорт содержимого Java

Столкнулaсь с проблемой во время сохранения данных. У меня есть скрипт, который отвечает за отображение фото, который отображаются при помощи графики

    private BufferedImage photoImage;

public void PhotoImage(BufferedImage photoImage) {
    this.photoImage = photoImage;
    repaint();
};

@Override
public void paint(Graphics g) {
    super.paint(g);
    if (photoImage != null) {
        g.drawImage(photoImage, photoX, photoY, this);
    }
}

Я это фото пытаюсь экспортировать через эту функцию

public void exportToImage(String filePath, String format) {
    try {
        Dimension size = previewWindow.getContentPane().getSize();

        BufferedImage image = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_RGB);
        Graphics2D g2d = image.createGraphics();

        previewWindow.getContentPane().paint(g2d);
        g2d.dispose();

        File file = new File(filePath);
        ImageIO.write(image, format, file);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Однако, после экспорта сохраняется просто пустое окно Я пробовала сохранять через previewWindow.paint(g2d);, но тогда сохраняется и верхняя рамка окна, что мне не подходит. Кто может помочь исправить код, чтобы сохранение происходило с картинкой. Спасибо.


Ответы (0 шт):