Aller chercehr une image sur le net, à partir d'un prog en JAVA

Aller chercehr une image sur le net, à partir d'un prog en JAVA - Java - Programmation

Marsh Posté le 19-02-2003 à 18:04:20    

Voila, je voudrais faire un prog qui va chercher une image, dont l'adresse est connue, et qui l'affiche.
Pour l'affichage, ça devrait aller, mais pour aller chercher l'image sur le net, comment faire ?
 


---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 19-02-2003 à 18:04:20   

Reply

Marsh Posté le 19-02-2003 à 18:07:53    

Applet ou pas?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 19-02-2003 à 18:18:58    

A priori, non.
 


---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 19-02-2003 à 18:21:48    

java.net.URLConnection [:spamafote]

Reply

Marsh Posté le 19-02-2003 à 18:23:58    

vink a écrit :

A priori, non.
 
 


 
ça tombe bien, sinon fallait toucher à la sécurité.
 
classe URL
constructeur URL(String) :
http://java.sun.com/j2se/1.4.1/doc [...] ng.String)
 
 
méthode getContent() :
http://java.sun.com/j2se/1.4.1/doc [...] lang.Class[])

Reply

Marsh Posté le 19-02-2003 à 18:35:09    

OK, merci
Juste pour être sûr, faut que je fasses des trucs du style:
 
URL _nom_ = new URL(_chemin à suivre_)
et ensuite:
Object _nom de l'objet_ = _nom_.getContent()
 
Et ensuite, je convertis mon objet en CImage.
C'est bien ça ?


---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 19-02-2003 à 18:44:56    

vink a écrit :

OK, merci
Juste pour être sûr, faut que je fasses des trucs du style:
 
URL _nom_ = new URL(_chemin à suivre_)
et ensuite:
Object _nom de l'objet_ = _nom_.getContent()
 
Et ensuite, je convertis mon objet en CImage.
C'est bien ça ?
 


je pense.
 
T'as même la version courte :
 
Object _nom de l'objet_ = (new URL(_chemin à suivre_)).getContent()

Reply

Marsh Posté le 19-02-2003 à 18:54:57    

OK.
Je suis pas encore vraiment bon en java. Pour le constructeur de URL, ça doit ressembler à quoi ?
Parce que si je mets directement la ligne  
 
 

Citation :

Object _nom de l'objet_ = (new URL(_chemin à suivre_)).getContent()

 
 
le compilateur me dit qu'il ne connait pas le symbole URL


---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 19-02-2003 à 19:04:12    

vink a écrit :


le compilateur me dit qu'il ne connait pas le symbole URL


 
C'est dans le package java.net, faut faire un import de java.net.URL au tout début de ton prog.

Reply

Marsh Posté le 19-02-2003 à 19:05:16    

oups, j'avais oublié de mettre le "java.net.*"
 
Maintenant, à la compilation, j'ai droit à ça:
 

Citation :

 
unreported exception java.net.MalformedURLException; must be caught or declared to be thrown

 
 
Je vois pas trop ce que ça veut dire.


---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 19-02-2003 à 19:05:16   

Reply

Marsh Posté le 19-02-2003 à 19:07:58    

désolé, j'avais oublié le try{}Catch...etc


---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 19-02-2003 à 19:10:56    

Par contre, comment transforme-t-on un objet en image ?


---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 19-02-2003 à 19:27:44    

perso, j'ai aucune idée de la nature de l'objet que getContent retourne ... et la javadoc est pas bien claire la dessus ...

Reply

Marsh Posté le 19-02-2003 à 19:31:02    

j'ai cherché un peu et en faite, ca te retourne une des classes du package sun.
 
C'ets assez chiant car ces classes sont pas documentées.
 
En cherchant encore un peu plus loin, tu te rend compte que c'est la classe sun.awt.image.URLImageSource qui est retournée mais je sais pas trop à quoi elle sert.

Reply

Marsh Posté le 19-02-2003 à 19:32:08    

en cherchat un peu plus loin j'ai vu qu'on pouvait utiliser cette classe avec la classe java.awt.image.ImageConsumer  
mais cette classe là je sais pas comment on l'utilise ... :(
 
edit: saloperie d'anti-flood
 
ayé trouvé !!!
en fait c'est tout con ! :)
 
donc pour récupérer un objet Image à partir d'une URL tu fais ca :  
 

Code :
  1. import java.awt.*;
  2. import java.net.*;
  3. ...
  4. Image imageFromUrl = Toolkit.createImage(new Url(tonUrl).getContent());


 
pour les curieux, on peut voir le source de tout ce beans là :  
http://www.sourcebot.com/sun/net/www/content/image/
et là
http://www.sourcebot.com/sourcebot/sun/awt/image/
 
tu peux d'ailleur voir qu'il n'y a que le jpeg, le gif, les x_bitmap et x_pixmap :??:  qui sont récupérables par ce moyen


Message édité par benou le 19-02-2003 à 19:43:48
Reply

Marsh Posté le 20-02-2003 à 10:48:48    

benou a écrit :

les x_bitmap et x_pixmap :??:  


C'est le format classique des images sous X window.

Reply

Marsh Posté le 20-02-2003 à 11:13:05    

nraynaud a écrit :


C'est le format classique des images sous X window.


ok. thx  :jap:

Reply

Marsh Posté le 20-02-2003 à 11:47:00    

OK, ça a l'air impecable, sauf que createImage(URL) est abstract, et donc le compilateur me dit ne pas connaitre createImage
Que faut-il rajouter ?


---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 20-02-2003 à 11:51:29    

Toolkit.getDefaultToolkit()

Reply

Marsh Posté le 20-02-2003 à 15:42:29    

Merci à tous, ça fonctionne ;)


---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 20-02-2003 à 20:49:27    

Taiche a écrit :

Toolkit.getDefaultToolkit()


oups, je l'avais oublié celui là ...

Reply

Marsh Posté le 20-02-2003 à 22:29:42    

benou a écrit :


oups, je l'avais oublié celui là ...


 
débutant :o
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 [:rofl]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 20-02-2003 à 22:40:07    

salo !!  :o  
 
mais bon, en fait, awt je connais presque pas moa  :sweat:

Reply

Marsh Posté le 20-02-2003 à 22:41:30    

benou a écrit :

salo !!  :o  
 
mais bon, en fait, awt je connais presque pas moa  :sweat:  


 
non mais je rigolais hein :jap:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 20-02-2003 à 22:48:46    

DarkLord a écrit :


non mais je rigolais hein :jap:


je sais bien  :o  
 
mais bon, c'est un truc qui manque à ma culture javaesque.
un peu comme le fait que j'ai jamais fait une seule applet  :sweat:

Reply

Marsh Posté le 14-03-2003 à 20:04:13    

J'ai testé ce que vous avez tous mis
mais j'ai tjs l'erreur avec createImage.......
Pouvez-vous me mettre juste les 2 lignes à mettre SVP ??
 
Et pour enregistrer l'image sur le disque dur,
quelles méthodes utiliser ??
 
 
Merci.

Reply

Marsh Posté le 14-03-2003 à 20:18:25    

et mon post là : http://forum.hardware.fr/forum2.ph [...] =1#t313437
 
pour sauvegarder l'image, tu fais un openstream que tu transvases vers un FileOutputStream


Message édité par benou le 14-03-2003 à 20:19:22
Reply

Marsh Posté le 14-03-2003 à 21:51:16    

J'ai essayé avec le "Toolkit.getDefaultToolkit()"
mais je ne sais pas comment le placer, si je dois le
mettre comme ça, sur une ligne, ou alors
remplacer le createImage par "getDefaultToolkit()".
 
Mais j'ai essayé ces 2 façons et tjs impossible
de compiler....
 
Sinon, peux-tu me donner un exemple STP pour un fichier
JPEG "http://www.monsite.fr/01.jpe" pour l'enregistrer
dans le répertoire "D:\rep\"    ??
 
Merci.

Reply

Marsh Posté le 14-03-2003 à 21:53:45    

J'ai regardé sinon la JavaDoc pour ce que tu m'as expliqué
avec les openstream et autres, mais je ne vois pas
comment faire avec les constructeurs...

Reply

Marsh Posté le 14-03-2003 à 22:02:46    

Haa, dsl pour les class, je viens de les DL..
Mais il me dit qu'il ne peut pas accéder à la classe Image
alors qu'elle est bien dans le même répertoire
que mon programme de test !!
 

Code :
  1. D:\Test\TestInternet.java:17: cannot access Image
  2. bad class file: D:\Test\Image.class
  3. class file contains wrong class: sun.awt.image.Image
  4. Please remove or make sure it appears in the correct subdirectory of the classpath.
  5. 1 error


Message édité par ndmax le 14-03-2003 à 22:04:08
Reply

Marsh Posté le 15-03-2003 à 00:03:50    

benou a écrit :


je sais bien  :o  
 
mais bon, c'est un truc qui manque à ma culture javaesque.
un peu comme le fait que j'ai jamais fait une seule applet  :sweat:  


 
Tu ne manques rien je t'assure...
 
De toute facon je persiste a dire que tout ce qui est IHM devrait etre genere automatiquement en suivant un certain nombre de regles ergonomiques.
 
Et puis ensuite les GUI en Java c'est pas fun :lol: (vive squeak !!!)

Reply

Marsh Posté le 15-03-2003 à 10:44:53    

phenixl a écrit :


 
Et puis ensuite les GUI en Java c'est pas fun :lol: (vive squeak !!!)


 [:bobuse]


---------------
get amaroK plugin
Reply

Marsh Posté le 15-03-2003 à 13:02:25    


 
Rien a voir avec ce que tu peux faire en squeak :) rotations de toute la GUI, et surtout les morphs... ca te permet de rever et de pouvoir faire ce que tu veux sans avoir de chaines aux chevilles :)
 
Enfin faut avoir essaye et connaitre qqun qui fait des trucs dingues avec pour voir la difference :) (tiens j'adore ce lecteur flash fait en squeak ou tu peux prendre n'importe quel objet du film le drag and drop dans ton application et qui continue a vivre comme si de rien n'etait :)
 
Swing c'est bien mais c'est tellement limite... Aucune place pour le reve et l'imagination.

Reply

Marsh Posté le 15-03-2003 à 13:31:10    

benou est-il là pour m'aider ??

Reply

Marsh Posté le 15-03-2003 à 20:14:50    

bon, pour afficher ton image, en fait, le plus simple c'est d'utiliser la classe javax.swing.ImageIcon avec son constructeur à partur d'une URL
 
pour sauvegarder l'image sur le disque, tu fais un openStream sur l'objet URL et tu écrit le flux sur le dsique en utilisant un OutputStream.

Reply

Marsh Posté le 15-03-2003 à 21:04:36    

Ouai, ben là je comprends pas bien :
si je fais un openStream sur l'URL, ça me retourne
un InputStream !!
Et comment je fais pour mettre l'InputStream en
liaison sur l'OutputStream ????
Je ne trouve pas les méthodes à utiliser.....
 
Sinon, par quel moyen je dis à l'OutputStream
d'enregistrer dans le répertoire d:\test\ par exemple ????
Là non plus, je ne vois pas les méthodes..........

Reply

Marsh Posté le 16-03-2003 à 01:17:26    

:??:  
 
ben une boucle :  

Code :
  1. int b;
  2. while ((b = inputStream.read() != -1) {
  3.    outPutStream.write(b);
  4. }


Message édité par benou le 16-03-2003 à 01:17:39
Reply

Marsh Posté le 16-03-2003 à 01:38:02    

Haaa, je comprends pas grand chose,
je n'y connais rien moi aux InputStream
et OutputStream !!!
 
Pour l'instant j'ai ça :
 

Code :
  1. URL src = new URL("http://monsite.fr/image.jpe" );
  2. InputStream in = src.openStream();
  3. OutputStream out = new OutputStream();
  4. int b;
  5. while((b=in.read()) != -1) {
  6. out.write(b);
  7. }


 
 
Déjà j'ai une erreur sur le OutputStream........
De plus, comment l'appliquer sur un fichier
à créer, par exemple "image.jpe", qui sera dans le
répertoire "D:\test\"    ????
Peux-tu me donner les qq lignes pour STP ?
 
 
Merci !

Reply

Marsh Posté le 16-03-2003 à 11:02:23    

et google tu as pensé? Parce que si tu cherches tu as plein d'examples avec code source et tout le tralala hein (je veux dire en attendant qu'une bonne ame te réponde). Et puis si tu es cool, si tu trouves, tu posterais la solution ici pour en faire profiter tout le monde.
 


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 16-03-2003 à 11:27:37    

c'est la 3e fois que je te dis d'utiliser un FileOutputStream

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed