Converter e exibir imagem da matriz de bytes

Eu estou fazendo um programa, que obtém dados sobre uma imagem na matriz de bytes de um servidor. Estou convertendo esses dados em formato BMP de 24 bits (seja jpeg, png, bmp ou 8-24-32bpp). Primeiro, eu estou salvando no meu HD, e então eu estou carregando no ícone do JLabel. Funciona perfeitamente, embora haja alguns casos em que recebo a seguinte exceção:

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)

Para esta linha (o segundo)

File imgFile = new File("d:/image.bmp");
BufferedImage image = ImageIO.read(imgFile);

Nesses casos:

a imagem não é carregada no JLabel, mas pode ser encontrada no meu HDa conversão não é adequada, porque algo "escorrega"a imagem é como quando você usa itálico em um documento do word

Primeiro, eu pensei que talvez o bpp fosse o problema, então eu pensei que talvez as imagens fossem muito grandes, mas eu tenho casos que funcionam e casos que não são para ambas as sugestões. Estou um pouco preso aqui, e ficaria feliz por idéias.

questionAnswers(3)

yourAnswerToTheQuestion