Suena simple ¿no? UtiliceConvertir matriz de bytes a la imagen en Java - sin saber el tipo
ImageIO.read(new ByteArrayInputStream(bytes));
Aquí está la arruga. Por alguna razón se está detectando un archivo JPEG como BMP, y que es la primera ImageReader devuelto cuando llamo
ImageInputStream iis = ImageIO.createImageInputStream(new ByteArrayInputStream(bytes));
Iterator<ImageReader> readers=ImageIO.getImageReaders(iis);
Esto hará que la imagen salga dañado. ¿Hay alguna manera de decir a través de Java que no mire directamente a los bytes del encabezado, y si falla, ¿alguien sabe de una buena referencia para los encabezados de bytes para las diferentes imágenes?
Solo les dejo saber que todavía estoy trabajando en esto. Te dejaré saber si/cuando tengo una respuesta. Les agradezco a todos ustedes por sus respuestas hasta el momento.
Eso es correcto, pero el problema es que la recopilación de datos es una mezcla de bmp, png, jpg, etc. Así que cualquiera de ellos PODRÍA ser válido, el truco es decir cuál basándose únicamente en los bytes. – PHeath