如何将Scene
JavaFX
2中图形的内容输出到Image
。实际上,我正在开发一个基本上设计卡片的应用程序。因此,用户只需单击各种选项即可自定义场景。最后,我想将场景内容导出到图像文件。我怎么做
?
为此,在FX 2.2中出现了新的快照功能。你可以说
WritableImage snapshot = scene.snapshot(null);
对于较旧的FX,您可以使用AWT机械手。这不是一个很好的方法,因为它需要启动整个AWT堆栈。
// getting screen coordinates of a node (or whole scene)
Bounds b = node.getBoundsInParent();
int x = (int)Math.round(primaryStage.getX() + scene.getX() + b.getMinX());
int y = (int)Math.round(primaryStage.getY() + scene.getY() + b.getMinY());
int w = (int)Math.round(b.getWidth());
int h = (int)Math.round(b.getHeight());
// using ATW robot to get image
java.awt.Robot robot = new java.awt.Robot();
java.awt.image.BufferedImage bi = robot.createScreenCapture(new java.awt.Rectangle(x, y, w, h));
// convert BufferedImage to javafx.scene.image.Image
java.io.ByteArrayOutputStream stream = new java.io.ByteArrayOutputStream();
// or you can write directly to file instead
ImageIO.write(bi, "png", stream);
Image image = new Image(new java.io.ByteArrayInputStream(stream.toByteArray()), w, h, true, true);
问题内容: 我有一个prefHeight = 70 //没有prefWidth或任何宽度的HBox … 我也有一个prefWidth = 50 //没有prefHeight或任何高度的窗格… 我只想使用某些循环将窗格的多个实例添加到HBox。 当我在循环主体中添加(pane)时,出现以下错误。 我需要找到克隆窗格的方法(因为它按值传递)。有人可以帮我吗?(对我来说,拍摄快照不起作用,因为未使用父级
问题内容: 我有一个应用程序,其中包含带有标题和菜单的HomeScene.fxml文件。HomeScene还具有dashboardPane,应在按下菜单按钮后对其进行动态更改。仪表板窗格内容应从另一个fxml文件加载,例如说“ FinancesPane.fxml”或“ SettingsPane.fxml”。 我正在尝试在HomeController中替换dashboardPane的内容: 我的Fi
我有一个潜水舱,水太多了。它基本上包括一个大的组织结构图。我想做的是导出div的全部内容,而不是使用html2canvas库导出可见部分,但到目前为止我还无法实现。下面的代码段不会呈现全部内容。有没有办法做到这一点? 我正在使用BasicPrimitions库生成组织结构图。它接受一个div并将所有元素插入其中。因为我的图表相当大,所以它从容器中溢出。Xhtml代码如下所示:
问题内容: 我的CSS文件在: 项目/网站/支持/样式/file.css 我的图片在: Project / Web / images / image.png 我想要这个图像在我的CSS文件中。 我努力了 : 但。我在页面中没有得到这张图片。 在CSS文件中指定图像文件路径的正确方法是什么? 问题答案: 您的CSS在这里:Project / Web / Support / Styles / file
概念 jMonkeyEngine3是一个基于场景图的3D游戏引擎,因此有必要对场景图的概念进行一些说明。jME3的场景图通过Spatial、Geometry、Node这3个类来实现,它们之间的关系如下图: 场景图(Scene Graph)是一种数据结构,用于管理游戏场景中的物体,场景中的每个物体都被称为Spatial。 Spatial表示3D空间中的一个物体,它在空间中有三种线性变换:位移(Tra