Bonsoir à tous, je sollicite votre aide car j'ai une exception que je n'arrive pas à résoudre.
Le but du code suivant est de réceptionner une image BMP sur une socket (protocole tcp_push) et de l'afficher.
Malheureusement, lorsque j'essaye de créer l'image à partir du tableau de byte, j'obtiens l'exception suivante : java.lang.RuntimeException: New BMP version not implemented yet.
Si quelqu'un sait de quoi il en retourne ou a un moyen différent de créer l'image, je suis preneur !

Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
 
/* donnees est la socket sur laquelle on recoit les images en provenance d'un serveur */
 
BufferedReader in = new BufferedReader(new InputStreamReader
		(donnees.getInputStream()));
String chaineLue = new String ();
int num_image = 0; // numero de l'image
int taille = 0; // Taille de l'image
int nbLus = 0; // nb d'octets lus
 
chaineLue = in.readLine();
num_image = Integer.parseInt(chaineLue);
chaineLue = in.readLine();
taille = Integer.parseInt ( chaineLue );
char [] tab = new char [taille];
nbLus = in.read ( tab, 0, taille );
/* si on a pa lu ce qu'il faut, on doit relire */
while ( nbLus < taille ) {
	nbLus += in.read ( tab, nbLus, taille - nbLus);
}
 
byte[] imageData = new byte[taille];
imageData = toByteArray(tab); // methode qui cast char[] en byte[]
InputStream is = new ByteArrayInputStream(imageData);
BufferedImage image = ImageIO.read(is); // genere l'exception en question
 
Graphics g = image.createGraphics();
g.drawImage(image,0,0,null);
g.dispose();
Merci d'avance