Bonjour,
Je travail sur des composants manipulants des images dont voici les grandes lignes du fonctionnement :
->Lire des images, au format JPEG ou PGM (PortableGrayMap) stockées sur le disque.
->Transformer les images lues en une chaine de caractères (String) permettant leur transit entre les composants (contrainte obligatoire).
La chaine ne doit pas contenir les couleurs de chaques pixels comme pourrait fournir le getRGB(), mais la representation binaire de l'image.
->Decoder la chaine de caractère reçue pour recuperer une image affichable (Image ou BufferedImage)
Voici les points qui me posent problème (en gros chaque étape ) :
1 -> Comment lire une image au format PGM (le format n'est pas pris en compte par la librarie ImageIO et je ne peux pas utiliser de libraries autres que celles du JDK de base comme JAI qui aurait pû m'aider). Faut t'il obligatoirement que je developpe une classe permettant d'exploiter ce format ?
2 -> Comment convertir d'une image JPEG ou PGM en chaine de caractères (String). Je n'ai pas trouvé de moyen de passer d'une BufferedImage lue via ImageIO.read() à un String. Je vais investiguer du côté des methodes de la classe ImageIO : createImageOutputStream() ou createImageInputStream() dont je n'ai pas encore compris le fonctionnement ou write(image, format, OutputStream) mais là je ne sais pas comment convertir le outputStream resultant en String. Si vous avez d'autres pistes n'hesitez pas
3 -> Comment décoder une chaine de caractères contenant la representation binaire de l'image au format JPEG ou PGM pour aboutir à un objet affichable (Image ou BufferedImage). J'ai l'impression que les méthodes read(ImageInputStream) ou read(InputStream) de la classe ImageIO pourraient m'être utiles mais je ne voit pas comment passer de la chaine de caractère reçue à un flux exploitable par ces méthodes.
Merci d'avance pour votre aide
M@tth
Partager