Преобразование и отображение изображения из байтового массива
Я делаю программу, которая получает данные об изображении в байтовом массиве с сервера. Я конвертирую эти данные в 24-битный формат BMP (будь то jpeg, png, bmp или 8-24-32bpp). Сначала я сохраняю его на своем HD, а затем загружаю в Icon 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, но его можно найти на моем HDпреобразование не является правильным, потому что что-то «проскальзывает»картинка как при использовании курсива в текстовом документеСначала я подумал, что, может быть, проблема в bpp, потом я подумал, что, возможно, картинки слишком велики, но у меня есть случаи, когда это работает, и случаи, в которых это не подходит для обоих предложений. Я немного застрял здесь и был бы рад за идеи.