【问题标题】:Print Stage with JavaFX 8使用 JavaFX 8 打印舞台
【发布时间】:2014-05-12 09:16:26
【问题描述】:

我找到了一些如何使用 JavaFX 打印网页的基本示例,但我正在寻找可以打印带有应用程序内容的完整场景的示例。有例子吗?

【问题讨论】:

标签: javafx javafx-2 javafx-8


【解决方案1】:

您可以使用

将场景转换为图像
WritableImage snapshot = scene.snapshot(null);

这将返回一个 WritableImage,可以将其转换为 Image File 或 BufferedImage,并使用 JavaFX8 的 Printing API 进行打印(可用的示例不多,但新 API 与旧 API 非常相似)打印API,所以不会有问题)

将 WritableImage 转换为 Png 文件

WritableImage snapshot = scene.snapshot(null);
File file = new File("image.png");
try {
    ImageIO.write(SwingFXUtils.fromFXImage(snapshot, null), "png", file);
} catch (IOException e) {
    e.printStackTrace();
}

将 WritableImage 转换为 BufferedImage(用于打印)

WritableImage snapshot = scene.snapshot(null);
BufferedImage bufferedImage = SwingFXUtils.fromFXImage(snapshot, null);

有关如何使用 java 打印图像的小示例,请浏览

Proper way of printing a BufferedImage in Java

How to print image in java

【讨论】:

    猜你喜欢
    • 2017-12-17
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    相关资源
    最近更新 更多