gpt4 book ai didi

java - 如何获取JPanel的子图像?

转载 作者:行者123 更新时间:2023-11-29 09:12:32 25 4
gpt4 key购买 nike

BufferedImage 有一个返回图像的 getSubimage(x, y, width, height) 方法。我在 JPanel 上绘制图形,如何使用 JPanel 执行类似于 BufferedImage 方法的操作?

例如(如果它是正确的):

BufferedImage bi = jPanel.getSubimage(x, y, width, height);

谢谢

最佳答案

您可以将任何 swing 组件渲染成缓冲图像。

由于您只需要一个子图像,我想这将进行两步处理,1) 将您的 JPanel 渲染为 BufferedImage,2) 获取它的子图像。

BufferedImage bi = new BufferedImage(jPanel.getWidth(), jPanel.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = (Graphics2D)bi.getGraphics();
panel.printAll(g); //I assume you wanted child elements too... otherwise just use paint(g)
BufferedImage result= bi.getSubimage(...);

注意:这只有在所有组件都完成初始化、定位等并显示后才会起作用。

关于java - 如何获取JPanel的子图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11489581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com