To String

Résolu
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 5 juin 2007 à 14:15
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 5 juin 2007 à 15:03
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

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
5 juin 2007 à 14:54
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"
3
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
5 juin 2007 à 15:01
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"
3
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
5 juin 2007 à 15:03
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"
3
Rejoignez-nous