sinon, si tu n'as que 2 niveaux (blanc et noir => 0 et 1), voici une possibilité de format :
exemple pour l'image suivante :
1000001
0100010
0011100
0010100
0011100
0100010
1000001
l'image est constitué de
1x1, 5x0, 1x1, 1x0, 1x1, 3x0, 1x1, 3x0, 3x1, 4x0, 1x1, 1x0, 1x1, 4x0, 3x1, 3x0, 1x1, 3x0, 1x1, 1x0, 1x1, 5x0, 1x1
il suffit alors d'enregistrer la longueur de chaque suite de 0 et de 1, Si l'image commence par un 0, mettre 0 comme premiere longueur, et les dimensions de l'image (ici 9x9)
=> 9|9|0|1|5|1|1|1|3|1|3|3|4|1|1|1|4|3|3|1|3|1|1|1|5|1|
je conseil d'enregistrer les dimensions sur 2 octets
si un nombre dépasse 255, le mettre sur 2 octets : 264| => 255|9|
si un nombre est égal à 255, mettre 255|0| pour qu'il n'y ai pas de confusion.
petit calcul de place :
mon image : 9x9 pixels
avec ton ancienne methode texte : 81 charactères plus 2 pour les dimensions => 83 octets
avec la methode binaire du poste
./2 => 11 charactères plus 2 pour les dimensions => 13 octets
avec ma methode => 26 octets avec mon exemple, mais suivant les images, tu peux aller de 3 octets à 83 octets en fonction de la complexité de ton image
voila
si c'est pas clair, ben.... désolé
