相当于JavaFx上的BufferedImage(java awt)

时间:2014-06-25 14:09:22

标签: javafx bufferedimage

我正在使用JavaFx,而且我正在寻找等效的AWT BufferedImage。我看到我可以使用SwingFXUtils在JavaFx中使用awt BufferedImage,但我不想使用awt

事实上,我正在寻找一个结构来显示与ColorModel相关联的像素表。

有人知道JavaFx的等价物吗?

非常感谢。

1 个答案:

答案 0 :(得分:3)

您在JavaFX中距离BufferedImage最近的是javafx.scene.image.WritableImage。它是javafx.scene.image.Image的子类,并在JavaFX 2.2中引入。

根据您的使用情况,javafx.scene.canvas.Canvasjavafx.scene.canvas.GraphicsContext(类似于Graphics2D Java2D)可能更合适。

要在Canvas节点上绘制并获取WritableImage中的内容,请使用(改编自Canvas JavaDoc):

// Create canvas
Canvas canvas = new Canvas(250, 250);
GraphicsContext gc = canvas.getGraphicsContext2D();

// Paint on it
gc.setFill(Color.BLUE);
gc.fillRect(75, 75, 100, 100);

// NOTE: The canvas must be part of a Scene for the following to work properly, omitted for brevity

// Obtain a snapshot of the canvas
WritableImage image = canvas.snapshot(null, null);

有关详细信息,请参阅JavaFX教程中的Working with Canvas