【发布时间】:2017-02-26 17:09:32
【问题描述】:
我对 ByteArrayOutputStream 有一个奇怪的问题。我正在尝试输入图像并将其转换为字节数组。图像为 270 x 480 像素。但是,如果我将数据设置为字节数组并输出 data.length 我得到 21195 但是 270 x 480 = 129600。它们不应该相同吗?我在这里做错了什么?
BufferedImage originalImage =
ImageIO.read(new File("C:\\Users\\use\\Pictures\\mypic.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( originalImage, "jpg", baos );
baos.flush();
data = baos.toByteArray();
baos.close();
谢谢,
【问题讨论】:
-
您错过了文件格式不存储纯像素值。尝试读/写
bmp,你会发现它大约需要 width*height*3 字节(加上一些头部开销)
标签: java arrays image-processing