Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PASSAGE D'UNE IMAGE PAR SERIALIZATION (LA CLASS IMAGE N'EST PAS SERIALIZABLE)


Information sur la source

Description

But du jeu, transférer une image d'un client vers un serveur
(Marche en Applet / Servlet aussi !)


 

Source

  • Coté client :
  • public void writeObject(ObjectOutputStream stream, Image im) throws java.io.IOException
  • {
  • PixelGrabber grabber = new PixelGrabber(im, 0,0, -1, -1, true);
  • try
  • {
  • grabber.grabPixels();
  • }
  • catch (InterruptedException e)
  • {
  • e.printStackTrace();
  • }
  • Object pix = grabber.getPixels();
  • Dimension dim = new Dimension(((BufferedImage)im).getWidth(),((BufferedImage)im).getHeight());
  • stream.writeObject(dim);
  • stream.writeObject(pix);
  • }
  • }
  • Coté Serveur :
  • public void readObject(ObjectInputStream stream) throws java.io.IOException
  • {
  • try
  • {
  • Dimension dim = (Dimension)stream.readObject();
  • Object im = stream.readObject();
  • int [] pix = (int [])im;
  • Canvas can = new Canvas(); // ou n'importe quel Components
  • theImage = can.createImage(new MemoryImageSource(dim.width, dim.height, pix, 0, dim.width)); // create image
  • this.saveImage((Image)theImage); // Ca c une autre fonction ... j'enregistre avec un encoder gif
  • }
  • catch (ClassNotFoundException e)
  • {
  • e.printStackTrace();
  • }
  • }
Coté client :

public void writeObject(ObjectOutputStream stream, Image im) throws java.io.IOException 
{

        PixelGrabber grabber = new PixelGrabber(im, 0,0, -1, -1, true);

        try 
        {
          grabber.grabPixels();
        }
        catch (InterruptedException e) 
        {
                e.printStackTrace(); 
        }

        Object pix = grabber.getPixels();
        Dimension dim = new Dimension(((BufferedImage)im).getWidth(),((BufferedImage)im).getHeight());
        stream.writeObject(dim);
        stream.writeObject(pix);
  }

}

Coté Serveur :

public void readObject(ObjectInputStream stream) throws java.io.IOException 
{
        try 
        {
          Dimension dim = (Dimension)stream.readObject();
          Object im = stream.readObject();
          int [] pix = (int [])im;
        
          Canvas can = new Canvas(); // ou n'importe quel Components
          theImage = can.createImage(new MemoryImageSource(dim.width, dim.height, pix, 0, dim.width)); // create image
          this.saveImage((Image)theImage); // Ca c une autre fonction ... j'enregistre avec un encoder gif
        }
        catch (ClassNotFoundException e) 
        {
          e.printStackTrace();
        }
}

Conclusion

C'est RAPIDE ET CA MARCHE !

 

Commentaires et avis

signaler à un administrateur
Commentaire de pit_oups le 11/12/2004 17:42:30

Merci beaucoup pour ce source. Je tenais à ajouter que contrairement à Image, ImageIcon est Serializable. Ce qui parfois peut réellement nous simplifier la vie.
@+

signaler à un administrateur
Commentaire de sheorogath le 12/06/2006 17:59:10 administrateur CS

tu es sublime ce commentaire et un mail m'on fait percuter un truc
merci beaucoup ^^

signaler à un administrateur
Commentaire de tiger_j le 22/05/2007 11:19:28

Bonjor tout le monde,URGENT
j'ai fait un simple code suivant quelques consignes pour pouvoir transformer une image en une chaine de caractère en utilisant Image.getRGB(.....) mais cela ne marche pas, si quelqu'un a une idée qu'il le signale et je publirai le code.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

image jpeg dans une applet [ par Juls ] Salut à tous!Pour vous une question à 2 francs he oui encore .Je rencontre des difficultées à afficher en fond d'écran une image jpeg .J'ai essayé ave java [ par djaouida27 ] salut tout le monde!!j'ai besoin de convertir ce code qui est  en builder en java:col[j][i] : une matrice qui affiche resultat .{for (i=0;i<x;i++)  afficher une image dans une fenetre [ par mavric ] Salut, voila je cherche a affiché une image dans une fenetre windows, donc pas d'applet, je fais du java application et pas de l'applet, malheureuseme Insérer une image dans un boite de dialogue avec des b outons [ par llaur76 ] Je voudrais créer une boite de dialogue pour réceptionner les erreurs eventuelles de manip de l'uilisateur. Mais qd j'ajoute une image (un .gif), je n mettre une image dans un JTextArea [ par neopascal ] Je voudrais mettre une image dans un JTextArea et afficher un text après l'image. J'arrive a afficher l'image mais je n'ai pas le text après l'image. histogramme image java [ par abdel78 ] est ce que quelqu'un pourrait m'aider à concevoir un programme en java pour afficher l'histogramme d'une image noir et blanc en java (surtout pour par Probleme avec les images ;( [ par lezabour ] Bonjour a tous,j'ai un projet a rendre pour dans une semaine, et j'ai un gros probleme avec les images.J'ai une image dans le repertoire de mon projet Contraste d'une image [ par Albator84 ] je cherche a modifier le contraste et la brillance d'une image ke j'ai importée dans mon appli.kelk un aurait il une solution ?(avec un minimum d'expl impression papier [ par Albator84 ] salut,je cherche le moyen d'imprimer une image (sur papier). G importé mon image avec du JAI.et je crois ke la méthode pour imprimer kon on utilise du jtextarea et image.... [ par praystation ] lo tlm,jvoudrais savoir si il est possible de foutre des images ds un jtextarea ou si c'est bien et malheureusement impossible!(je test de mon coté ma


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.