首页 > 解决方案 > JavaFX。显示来自 byte[] 的图像

问题描述

现在解决了!解决方案在下面的代码中

我最初的问题如下

我需要将Image接收到的像素作为字节数组(每个像素一个字节)显示到ImageView.

该图像最初为 png 格式。

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);
}

谢谢

标签: imagejavafx

解决方案


推荐阅读