问题
I am desperately trying to create an Image from a pixel-array with integer values. Regardless of using the WritableImage or the Canvas, it is always said that the PixelFormat is BYTE_RGB or BYTE_BGRA_PRE, so that I am forced to use a byte-array.
Is there any way to change the PixelFormat to <IntBuffer>
or did I overlook another component that is capable of having a PixelFormat<IntBuffer>
?
回答1:
You haven't described the structure of the pixel data in your int[]
, but you can do something along the lines of
int[] pixels = ... ;
WritableImage img = new WritableImage(width, height);
PixelWriter pw = img.getPixelWriter();
pw.setPixels(0, 0, width, height, PixelFormat.getIntArgbInstance(), pixels, 0, width);
来源:https://stackoverflow.com/questions/35012987/creating-a-javafx-image-from-a-int-array