Ok, donc finalement c'était un simple problème mathématique, pas de programmation. Merci de votre aide, cette partie est maintenant réglée.
Maintenant, j'ai un deuxième problème. J'envoie les codes hexa des couleurs vers un fichier, pour créer une image bitmap.
Voici comment marche une image bitmap :
http://turrier.fr/tutoriels/form_0 [...] cimal.html
Pour résumer, chaque pixel est codé séparément des autres : le fichier est donc une suite de codes en hexa, pour définir la couleur de chaque pixel (BleuBleu VertVert RougeRouge), après quelques lignes de "header", ou on définit des trucs comme le type de fichier (.bmp), la taille en octet, la taille en pixel (hauteur, largeur), etc.
Donc j'envoie le contenu de mes tableaux vers un fichier. Cependant, mes tableaux sont des tableaux de String. Car il me les faut en hexa, et je ne sais pas comment faire pour écrire de l'hexa sous forme d'int en java (les chiffres de A à F ne rentrent pas). Donc le fichier me les convertit automatiquement en leur code ASCII correspondant. Par exemple, j'envoie 00 00 5A avec mon programme, et j'obtient 3030 3030 3541. Je voudrais éviter cette conversion.
J'ai pensé à une solution (si vous en avez une meilleure, je suis preneur !) : je transforme les codes contenues dans mes chaines de caractères en caractères correspondant au code ASCII.
Exemple : si j'ai 00 00 5A à envoyer, je le convertit d'abord en [nul][nul]Z. Je fais cela par le programme, bien sûr, avec des cast :
byte codeAEnvoyer = 5A;
codeConvertiAEnvoyer = (char)codeAEnvoyer;
Cette méthode à un gros problème. C'est que j'ai des String au départ, et pas des byte comme dans mon exemple. Le cast ne marche donc pas. Et comme je fais pas mal d'opérations sur mes String (comme ne prendre que 2 caractères par case de tableaux, etc.), je ne peux pas vraiment facilement m'en débarrasser.
Donc si vous avez des idées, je vous écoute
Message édité par Marin2 le 01-05-2011 à 11:46:14