To String

Résolu
Signaler
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
-
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
-
Bonjour a tous.
est ce qu'il est possible de transformer n'importe quelle objet en String, pour ensuite le retransformer en ce qu'il était.
par ex:
un BufferedImage => en String
le String du BufferedImage => en BufferedImage

merci.

3 réponses

Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
ta de l'aspirine :p
pour des images ce qui se rapproche le plus de ce que demande et qui se trouve dasn un de mes codes c'est ca :

PrintWriterimgIndexout= new PrintWriter(imgIndex);

for(Imagei:vect){

imgIndexout.print(i.getWidth(null)+" "+i.getHeight(null)

+" ");

int[]tab =ImageLoader. getPixelFrom (i);

for(Integere:tab)

imgIndexout.print(e+" ");

imgIndexout.println();

imgIndexout.flush();

}

imgIndexout.close();

= > getpixel from :

public finalstaticint[] getPixelFrom (Imagei)<gras>throwsInterruptedException{

int[]tab = newint[i.getHeight(null)*(i.getWidth(null))];

PixelGrabberpix= new PixelGrabber(i.getSource(),0,0,i

.getWidth(null),i.getHeight(null),tab,0,i.getWidth(null));

pix.setColorModel(ColorModel. getRGBdefault ());

pix.grabPixels();

returntab;

}

//lecture :
Scanner sc =newScanner(f);

while(sc.hasNext()){

Scannerparse= new Scanner(sc.nextLine());

intx =parse.nextInt(),y= parse.nextInt();

Vectorv= new Vector();

while(parse.hasNext())

v.add(parse.nextInt());

this.addImage(ImageLoader. getImageFromPixel (v.toArray(),x,

y));

parse.close();

v = null;

}

sc.close();

//public

finalstaticImage getImageFromPixel (Object[]pix,<gras>intw,inth){int[]p = new int[pix.length];

for(inti =0;i<p.length;i++)

p[i]= (Integer)pix[i];

return getImageFromPixel (p,w,h);

}

publicfinalstaticImage getImageFromPixel (<gras>int[]pix,intw,inth){

BufferedImageimg =getImageBlanck(w,h);

intp= 0;

for (inti =0;i<img.getWidth();i++){

for(intj=0;j<img.getWidth();j++){

try{

img.setRGB(j,i,pix[p++]);

}catch(Exceptione){

}

}

}

returnimg;

}

voila tu auras compris que c'est pour un tableau d'image mais c'est adaptable apres ca depend des objet que tu souhaite sauvegarder en chaine ...

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
pardon :

public

final
static
Image
getImageFromPixel(<gras>int[]
pix,
int
w,
int
h)
{

BufferedImage
img
=
getImageBlanck (w,
h);

int
p
=
0;

for
(int
i
=
0;
i
<
img.getHeight();
i++)
{

for
(int
j
=
0;
j
<
img.getWidth();
j++)
{

try
{

img.setRGB(j,
i,
pix[p++]);

}
catch
(Exception
e)
{

}

}

}

return
img;

}bien qeu ca ne semble pas avoir masse d'effet mieu vaut avoir un truc de juste lol

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
private






static




GraphicsEnvironment




ge




=



GraphicsEnvironment






.


getLocalGraphicsEnvironment


();










private





static




GraphicsConfiguration




gc




=




ge

.
getDefaultScreenDevice
()






.
getDefaultConfiguration
();





public




static




BufferedImage





getImageBlanck


(

int




x
,




int




y
)



{







return





gc

.
createCompatibleImage
(
x
,



y
,



ColorModel
.


getRGBdefault


()






.
getTransparency
());






}



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