我正在使用JavaFx,而且我正在寻找等效的AWT BufferedImage
。我看到我可以使用SwingFXUtils
在JavaFx中使用awt BufferedImage
,但我不想使用awt
。
事实上,我正在寻找一个结构来显示与ColorModel
相关联的像素表。
有人知道JavaFx的等价物吗?
非常感谢。
答案 0 :(得分:3)
您在JavaFX中距离BufferedImage
最近的是javafx.scene.image.WritableImage
。它是javafx.scene.image.Image
的子类,并在JavaFX 2.2中引入。
根据您的使用情况,javafx.scene.canvas.Canvas
和javafx.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。