与JavaFx上的BuffereImage(JavaAWT)等效
我正在使用JavaFx,我正在寻找一种与AWT BuffereImage等效的。我发现我可以使用与JavaFx上的BuffereImage(JavaAWT)等效,javafx,bufferedimage,Javafx,Bufferedimage,我正在使用JavaFx,我正在寻找一种与AWT BuffereImage等效的。我发现我可以使用SwingFXUtils来使用JavaFx的awt BuffereImage,但我不想使用awt 事实上,我正在寻找一种结构来显示与颜色模型关联的像素表 有人知道JavaFx的一些等价物吗 非常感谢。在JavaFX中,最接近BuffereImage的是。它是javafx.scene.image.image的一个子类,在javafx2.2中引入 根据您的用例,javafx.scene.canvas.ca
SwingFXUtils
来使用JavaFx的awt BuffereImage
,但我不想使用awt
事实上,我正在寻找一种结构来显示与颜色模型关联的像素表
有人知道JavaFx的一些等价物吗
非常感谢。在JavaFX中,最接近BuffereImage
的是。它是javafx.scene.image.image
的一个子类,在javafx2.2中引入
根据您的用例,javafx.scene.canvas.canvas
和javafx.scene.canvas.GraphicsContext
(类似于Graphics2D
Java2D)可能更适合您
要在画布
节点上绘制并获取可写图像
中的内容,请使用(改编自画布
JavaDoc):
有关更多信息,请参阅JavaFX教程。谢谢您的回答。我试过WritableImage,但性能不够。如果我想改变每个像素的颜色,我必须在每个像素上做一个“for”。非常慢。你知道还有别的方法吗?根据我(有限的)经验,WriteableImage表现得非常好。看看我的答案。但它可能不适合您的用例。也许javafx.scene.canvas.canvas
和javafx.scene.canvas.GraphicsContext
更符合您的要求?事实上,我有一个值表(表中的每个元素对应一个像素)。我想将每个值与颜色关联,然后显示表格。但是表的值每次都会改变。所以我必须实时改变每个像素的颜色。我想我已经尽可能准确地回答了你的问题。如果您需要其他方面的帮助,请发布一个新问题,描述您想要解决的问题,以及到目前为止您拥有的代码。在我看来,你最好的选择是Canvas
,其他人可能会有其他/更好的想法。:-)谢谢,我将发布一个新问题以了解更多细节。
// 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);