0

我想要做的是对场景进行截图,我使用以下代码实现了这一点

    WritableImage snapshot = stage.getScene().snapshot(null);
    File file = new File("src//HE//Utilidades//Imagenes//consul.png");
    try {
        ImageIO.write(SwingFXUtils.fromFXImage(snapshot, null), "png", file);
        //this is for open the screenshot
        Desktop dt = Desktop.getDesktop();
        dt.open(file);

    } catch (IOException e) {
        e.printStackTrace();
    }

截图是完美的,我遇到的问题是截图的质量,我不知道有哪些依赖项,我尝试让场景更大,但 dpi 的质量保持不变(70),创建一个非常不愉快的图像,我我正在寻找一种方法来提高屏幕截图的 dpi 至少 300dpi 以进行打印

这就是我得到的品质

4

1 回答 1

2

简单的截图是屏幕截图,而不是场景的高分辨率渲染。您将无法在图像中获得比屏幕上更多的像素。所以除非你有一个 300 DPI 的屏幕,否则你想要的不是简单的截图。

如果您想要更高分辨率的场景图像,则必须使用其他技术,例如离屏渲染。可以在这里找到一个例子:

http://www.ambracode.com/index/show/1217604

于 2016-03-13T08:21:51.127 回答