This is now solved! The solution is in the code below
My initial question below
I need to display an Image
from pixels received as an array of bytes-one byte per pixel- into a ImageView
.
The image was originally in png format.
private WritableImage convertByteArrayToImage(byte[] pixels, int width,int height) {
int imageType= Integer.valueOf(expTime.getText());
int[] ints = new int[pixels.length];
for (int i = 0; i < pixels.length; i++) {
ints[i] = (int) pixels[i] & 0xff;
}
BufferedImage bImg
= new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);
WritableRaster raster = (WritableRaster) bImg.getData();
raster.setPixels(0, 0, width, height, ints);
bImg.setData(raster);
return SwingFXUtils.toFXImage(bImg, null);
}
Thanks