java - 如何提高 JavaFX 中场景屏幕截图生成的图像的 DPI 质量

标签 java javafx screenshot dpi hdpi

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

    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 以便打印

this is the quality that i get

最佳答案

简单的屏幕截图是屏幕截图,而不是场景的高分辨率渲染。您将无法在图像中获得比屏幕上更多的像素。因此,除非您有 300 DPI 的屏幕,否则您想要的东西是无法通过简单的屏幕截图实现的。

如果您想要场景的更高分辨率图像,那么您必须使用其他技术,例如离屏渲染。 可以在此处找到示例:

<罢工> http://www.ambracode.com/index/show/1217604

关于java - 如何提高 JavaFX 中场景屏幕截图生成的图像的 DPI 质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35964334/

相关文章:

java - 无法在操作栏中设置 Android 抽屉导航

JAVAFX - 如何在按下另一个按钮时在某个位置添加一个按钮?

JavaFX - 无需 Lambda 即可获取 ChoiceBox 的值

java - Hadoop 中 DataNode 无法启动

java - 在 IntelliJ 的 uml 类图中无法看到 Maven 依赖项

java - 用 Java 截取网页的屏幕截图

C# WPF 使用 SnippingTool 效果抓取屏幕截图

java - 使用按钮在jsp中调用java函数

java - 如何在Android中使用twitter4j库将图片发布到Twitter

JavaFX : SplitPane resize children