我正在制作一个程序,该程序从服务器获取图像的字节数组数据。我将这些数据转换成24位BMP格式(无论其是jpeg、png、bmp还是8-24-32bpp)。首先,我将其保存到我的硬盘上,然后将其加载到JLabel的图标中。虽然在某些情况下会出现以下异常:
java.io.EOFException at
javax.imageio.stream.ImageInputStreamImpl.readFully(ImageInputStreamImpl.java:353) at
com.sun.imageio.plugins.bmp.BMPImageReader.read24Bit(BMPImageReader.java:1188) at
com.sun.imageio.plugins.bmp.BMPImageReader.read(BMPImageReader.java:843) at
javax.imageio.ImageIO.read(ImageIO.java:1448) at
javax.imageio.ImageIO.read(ImageIO.java:1308)
对于这行代码(第二行)
File imgFile = new File("d:/image.bmp");
BufferedImage image = ImageIO.read(imgFile);
在这些情况下:
- 图片无法加载到JLabel中,但可以在我的硬盘上找到
- 转换不正确,因为某些东西“滑动”了
- 图片就像在Word文档中使用斜体字一样
jpeg
图像的经验分享,希望对您有所帮助。 - dic19