从 int 数组创建 Javafx 图像

Ada*_*dam 1 javafx pixels pixelformat

我拼命地试图从具有整数值的像素数组创建一个图像。不管是用WritableImage还是Canvas,总是说PixelFormat是BYTE_RGB或者BYTE_BGRA_PRE,所以我只好用byte-array了。

有什么方法可以将 PixelFormat 更改为<IntBuffer>或者我是否忽略了另一个能够具有PixelFormat<IntBuffer>?

Jam*_*s_D 5

您还没有在您的 中描述像素数据的结构int[],但是您可以按照

int[] pixels = ... ;
WritableImage img = new WritableImage(width, height);
PixelWriter pw = img.getPixelWriter();
pw.setPixels(0, 0, width, height, PixelFormat.getIntArgbInstance(), pixels, 0, width);
Run Code Online (Sandbox Code Playgroud)