Arrays 从AWT到JavaFX的图片数据

Arrays 从AWT到JavaFX的图片数据,arrays,image,javafx,Arrays,Image,Javafx,因此,我有一个应用程序,它使用AWT显示结果,使用: BufferedImage imagemap = new BufferedImage(map.getWidth(), map.getHeight(), BufferedImage.TYPE_BYTE_INDEXED, Imaging.ColorTables.get(this.color.getSelectedItem())); raster = imagemap.getRaster();

因此,我有一个应用程序,它使用AWT显示结果,使用:

BufferedImage imagemap = new BufferedImage(map.getWidth(),
            map.getHeight(), BufferedImage.TYPE_BYTE_INDEXED,
            Imaging.ColorTables.get(this.color.getSelectedItem()));
    raster = imagemap.getRaster();

    data = map.getData();

    tolow = map.max * filter;
    max = map.max - tolow;

    for (int ix = 0; ix < data.length; ix++)
        data[ix] = data[ix] < tolow ? 0 : (data[ix] - tolow) / (max) * 255;

    raster.setPixels(0, 0, map.getWidth(), map.getHeight(), data);
BuffereImage imagemap=新的BuffereImage(map.getWidth(),
map.getHeight(),buffereImage.TYPE_BYTE_index,
image.ColorTables.get(this.color.getSelectedItem());
光栅=imagemap.getRaster();
data=map.getData();
tolow=map.max*过滤器;
max=map.max-tolow;
for(int ix=0;ix

现在,我需要在JavaFX中显示与使用ImageView的UI容器相同的图片,我想我需要生成一个WirtableImage以插入到视图中。我还没有找到一种方法来生成图像,因为我似乎不能像在AWT中那样使用光栅。有人能帮我吗?

如果图像不经常更改,您可以如上所述创建它,然后使用将
缓冲图像
转换为JavaFX的
图像
(实际上它是
可写图像
,因此可以从JavaFX端进行进一步修改):


谢谢图像确实经常更改(使用滑块重新调整过滤器),但在处理更改时似乎没有问题。
BufferedImage newImagemap = new BufferedImage(imagemap.getColorModel(), (WritableRaster) raster, true, new Hashtable());
WritableImage img = SwingFXUtils.toFXImage(newImagemap,null);