我正在尝试以固定分辨率或可能比当前屏幕分辨率更大的分辨率创建我的某个JPanel的图像。因此,我无法使用简单的屏幕捕获方法,因为它会导致我的图像分辨率取决于用户设置的屏幕分辨率。有办法解决这个问题吗?
或者,有没有办法在openGL中执行此操作?创建一个虚拟缓冲区,渲染到其中,然后根据该虚拟空间创建一个图像?
答案 0 :(得分:4)
只需创建控件,您无需将其添加到任何JFrame或以其他方式显示它。您可以随后在其上使用print
方法将其呈现给Graphics
对象。您可以设置大小等,而不必考虑屏幕边界(因为控件永远不会显示在屏幕上)。
答案 1 :(得分:2)
看看JxCapture。它是商业产品,但如果您正在开发开源(或甚至非商业)项目,您可以获得免费许可。
答案 2 :(得分:1)
查看Screen Image课程。