Java 映像字节数组大小



我正在尝试打印位图图像。为了打印图像,我的打印机需要位图的字节数组。图片大小为 128x128 像素。

这是我如何读取图像并将其转换为字节数组的代码。

BufferedImage image = ImageIO.read(new File("test.bmp"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "bmp", baos);
byte[] imageInByte = baos.toByteArray();
System.out.println(imageInByte.length);

代码执行后图像InByte数组长度为2110。我在这里错过了什么?数组长度不应该是 16384 (128 x 128)吗?

您假设每个像素一个字节并且没有标头信息。"bitsPerPixel"标头将在确定图像数据占用多少空间方面发挥很大作用。在此处查看位图文件的结构。

最新更新