【发布时间】:2014-05-12 09:16:26
【问题描述】:
我找到了一些如何使用 JavaFX 打印网页的基本示例,但我正在寻找可以打印带有应用程序内容的完整场景的示例。有例子吗?
【问题讨论】:
-
看看这个answer
我找到了一些如何使用 JavaFX 打印网页的基本示例,但我正在寻找可以打印带有应用程序内容的完整场景的示例。有例子吗?
【问题讨论】:
您可以使用
将场景转换为图像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 打印图像的小示例,请浏览
【讨论】: