Passage d'une image par serialization (la class image n'est pas serializable)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 151 fois - Téléchargée 30 fois

Contenu du snippet

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

Source / Exemple :


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 !

A voir également

Ajouter un commentaire Commentaires
Messages postés
11
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
16 mai 2007

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.
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
tu es sublime ce commentaire et un mail m'on fait percuter un truc
merci beaucoup ^^
Messages postés
5
Date d'inscription
samedi 11 décembre 2004
Statut
Membre
Dernière intervention
14 décembre 2004

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (camuso)