Problemme de serialisation

Résolu
trezof1254 Messages postés 13 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 24 septembre 2008 - 16 sept. 2008 à 13:20
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 21 sept. 2008 à 22:58
bonjour.a tous .je cree une classe qui contient une variable image .et je veut serialiser cette classe mais .mais j'ai une erreur.dans le fichier de serialisation.(lors que je veut lire  l'image de la classe appartir de fichier de serialisation ).aucun image n'ete ecrite dans le fichier .alors aider moi slv.

et merci.

11 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
17 sept. 2008 à 11:03
Salut:

Utilises la classe ImageIcon comme sheorogathl'avait proposé (ImageIcon implémente l'interface Serializable).
Pour être plus clair, utilises cette classe pour encapsuler un objet de type Image, par la suite tu peux le retourner.

private ImageIcon imageIcon = new ImageIcon();

public void storeImage(Image image) {
    imageIcon.setImage(image);
}

public Image getImage() {
    return imageIcon.getImage();
}

Il y a une autre solution, qui passe par la classe PixelGrabber qui permet d'extraire les pixels d'un objet Image sous-forme de tableau (byte[]).
3
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
17 sept. 2008 à 11:05
Petite correction:

Il y a une autre solution, qui passe par la classe PixelGrabber qui
permet d'extraire les pixels d'un objet Image sous-forme de tableau
(int[]).
3
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
20 sept. 2008 à 22:20
Salut:

Etant donné que la classe BufferedImage hérite de la classe Image, tu peux utiliser cette classe au lieu de la classe Image.

// Passer un objet BufferedImage
BufferedImage bi = ImageIO.read(new File("image.png"));
ImageIcon imageIcon = new ImageIcon(bi);

// Enregistrer l'image
// Cette conversion est légale vu que l'objet initialement passé est un BufferedImage
BufferedImage bi = (BufferedImage)imageIcon.getImage();
ImageIO.write(bi, "jpg", new File("image.jpg"));
3
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
16 sept. 2008 à 16:34
Tu ne peux pas serialiser une image, la classe Image n'implemente pas serializable,  il faut passer par une classe de ton cru ou un ImageIcon ou encore une BufferedImage (pour ce dernier a verifier)

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
trezof1254 Messages postés 13 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 24 septembre 2008
16 sept. 2008 à 22:52
je veut pas serialiser une classe mage mais je veut serialiser une  classe que je cree.cette classe contien une image (variable de type image ).alors montrer qui ce qu'il  doit faire  pour utiliser imageiconou bien befferedredead . 
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 sept. 2008 à 11:05
ouaip, ca se compresse bien apres :P

tu ne peux pas serialiser une classe qui as des champs non serialisable

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
trezof1254 Messages postés 13 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 24 septembre 2008
20 sept. 2008 à 18:08
merci pour le derniere astuse.
mais cete foit  lorsque je veu enregestrer cette image en utilise imageio,
ImageIo.write((rendredimage)manclasse.getimage,....).l'erreur suivante s'affiche (java.lang.ClassCastException: sun.awt.image.ToolkitImage cannot be cast to java.awt.image.RenderedImage).comment je peu casting imageicon a un rendredimage?.
merci
0
trezof1254 Messages postés 13 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 24 septembre 2008
20 sept. 2008 à 18:14
merci pour le derniere astuse.
mais cete foit  lorsque je veu enregestrer cette image en utilise imageio,
ImageIo.write((rendredimage)manclasse.getimage,....).l'erreur suivante s'affiche (java.lang.ClassCastException: sun.awt.image.ToolkitImage cannot be cast to java.awt.image.RenderedImage).comment je peu casting imageicon a un rendredimage?.
merci
0
trezof1254 Messages postés 13 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 24 septembre 2008
20 sept. 2008 à 18:18
ou bien montrer moi comment je peu enregestrer un imageicon.

merci.
0
trezof1254 Messages postés 13 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 24 septembre 2008
21 sept. 2008 à 16:14
merci bq Ombitious_Developper pour voutre  aide(baraka llah fik,jazaka llah khayran) ,toi aussi sheorogath merci bq .
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
21 sept. 2008 à 22:58
Avec plaisir, bonne continuation

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
Rejoignez-nous