我想提出一个简单的光栅图形编辑到我的JavaFX应用程序。
看来,它不能用做javafx.scene.image.Image
因为是只读的图形对象。
有人能指出我怎么能做到这一点或许也有一些提供像素图直接访问类?
UPD:这是没有必要的编辑迅速做出反应,所以建议一拉创建隐藏java.awt.Canvas
,处理上ImageView的所有事件在画布上绘制,创建通过某种手段从画布的输出流来创建新的JavaFX图像,并把它的ImageView。
我想提出一个简单的光栅图形编辑到我的JavaFX应用程序。
看来,它不能用做javafx.scene.image.Image
因为是只读的图形对象。
有人能指出我怎么能做到这一点或许也有一些提供像素图直接访问类?
UPD:这是没有必要的编辑迅速做出反应,所以建议一拉创建隐藏java.awt.Canvas
,处理上ImageView的所有事件在画布上绘制,创建通过某种手段从画布的输出流来创建新的JavaFX图像,并把它的ImageView。
您可以使用JavaFX的帆布要做到这一点,如图在画布教程节“与用户交互”。 你并不需要一个java.awt.Canvas
。
你可以采取一个快照一个帆布(或其他节点)创建的图像。
您可以使用读取现有的图像像素映射PixelReader并用写的图像的像素图PixelWriter从获得WritableImage如图所示ImageOps教程 。
写你的磁盘得到的图像, 将其转换为一个BufferedImage ,并用它写出来的ImageIO 。
如果你需要它,有缩放图像的像素化形式(类似于微软画图变焦功能)的样本: JavaFX的ImageView的,没有任何平滑 。