java - 将 JPanel 转换为图像

标签 java image swing jpanel

有没有办法将 JPanel(尚未显示)转换为 BufferedImage?

谢谢,

杰夫

最佳答案

您可以从 BufferedImage 创建一个图形对象,您可以使用它来调用 JPanel 上的绘制,例如:

public BufferedImage createImage(JPanel panel) {

    int w = panel.getWidth();
    int h = panel.getHeight();
    BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    Graphics2D g = bi.createGraphics();
    panel.paint(g);
    g.dispose();
    return bi;
}

您可能需要确保先设置面板的大小。

关于java - 将 JPanel 转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1349220/

相关文章:

java - 如何检查PC是否支持蓝牙?

java - 如何使用 KeyListener 移动 JFrame 中的矩形?

java - 类的 saveInstantState()

java - 在编译时限制对象类型路径

java - 如何正确使用trim语句?

java - 在运行时决定换行符

swift - Swift 添加文本到图像不在正确的位置

java - 为什么我需要所有这些空方法来为 Glide 创建自定义文件目标?

python - 在 Python 中调整大图像大小的 CPU 效率最高的方法是什么

java - 有没有办法翻转 JSlider,使 slider 箭头指向上方?