[JAVA] Récupérer width & height d'une image [Solution inside]

Récupérer width & height d'une image [Solution inside] [JAVA] - Java - Programmation

Marsh Posté le 02-08-2002 à 10:35:47    

[:hello:  
 
 
J'ai une partie de mon appli écrite en JSP/Servlet qui permet à l'utilisateur d'uploader (entre autre) des images depuis son DD vers la BD du serveur..
L'Upload fonctionne, y'a pas de souci, mais je suis confronté à un autre pbr...  :cry:  
 
J'ai besoin de connaître les paramêtres de cette image comme par exemple sa largeur et hauteur..
J'ai pas mal cherché, le seul moyen que j'ai trouvé pour créer une image est :  
Image img = Toolkit.getDefaultToolkit().getImage("NomDuFichierImage" );  
A partir de img, j'ai accès à getWidth(ImageObserver) mais je bloque sur ImageObserver..
Comment récupérer un contexte graphique a partir d'une servlet ??
 
En Applet ou composant graphique , d'acord, C pas dur, mais en Servlet.. (je vois même pas ce qu'un composant graphique viendrait y faire mais bon..)
 
 
Comment k'on fait alors ??  :??:  
J'dois me vautrer lamentablement, doit y avoir un autre moyen mais bon je trouve pas..  :??:  
 
 
Merciiiiii !!!!!
 :jap:


Message édité par Dephi le 02-08-2002 à 14:59:23

---------------

Reply

Marsh Posté le 02-08-2002 à 10:35:47   

Reply

Marsh Posté le 02-08-2002 à 10:38:01    

Aussi loin que je me souvienne, tu peux créer une instance d'Image (ou un objet du genre) qui te permet de connaitre sa taille. Mais attention, il faut utiliser la synchronisation via une ImageObbserver un ou autre truc du genre.
 
Bon c'est brouillon je vais regarder dans mes brols
 
2sec


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

Marsh Posté le 02-08-2002 à 10:39:33    

ou bien ImageIcon ?


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

Marsh Posté le 02-08-2002 à 10:40:41    

DarkLord a écrit a écrit :

Aussi loin que je me souvienne, tu peux créer une instance d'Image (ou un objet du genre) qui te permet de connaitre sa taille. Mais attention, il faut utiliser la synchronisation via une ImageObbserver un ou autre truc du genre.
 
Bon c'est brouillon je vais regarder dans mes brols
 
2sec




Toujours aussi rapide dis moi !!!!!  :)  
 :jap:  
 
Si tu me trouve un moyen quelconque de récupérer un ImageObserver, C gagné !!!
 :D


---------------

Reply

Marsh Posté le 02-08-2002 à 10:48:28    

DarkLord a écrit a écrit :

ou bien ImageIcon ?




Euh non je pense pas..
 
J'ai AUCUN composant graphique dans mon appli..
Que JSP et Servlet donc je bloque un peu pas mal..  :cry:  
 
Je suis sur que ca doit être jouable en JavaScript mais j'ai absolument de faire ca en Java pour stocker les params dans ma BD..


---------------

Reply

Marsh Posté le 02-08-2002 à 10:55:09    

Bin t'as pas besoin d'un composant graphique pour faire une image :)
 
de quoi tu parles toi :)
 
et pour l'imageobserver c'est une interface à la con t'as qu'a l'implémenter et c'est tout :)


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

Marsh Posté le 02-08-2002 à 10:59:17    

Citation :


Bin t'as pas besoin d'un composant graphique pour faire une image :)


Ca je sais bien.. Mais d'apres ce que j'ai compris, l'ImageObserver "se récupère" à partir d'un contexte graphique (Graphics..)
 

Citation :


et pour l'imageobserver c'est une interface à la con t'as qu'a l'implémenter et c'est tout :)


C bien beau d'implementer une classe mais je mets koi a l'intérieur moi ??
 :??:  
 
 
J'suis en train de lire ca sur le net
http://etna.int-evry.fr/~bernard/s [...] ode63.html
Mais ca m'a l'air d'une véritable usine a gaz !!!!  :ouch:  :sarcastic:


---------------

Reply

Marsh Posté le 02-08-2002 à 11:00:56    

mais tu te compliques la vie inutiliement. Attends deux secondes --greg-- arrive.
 
Il va t'expliquer comment faire, il l'a déjà fait.
 
Sinon imageobserver est une interface et à ce titre tu peux l'implémenter si ca te change. Tu as regarder à quoi elle sert au moins?
 
Sinon une ImageIcon se construit à partir d'une URL et tu as des méthodes pour récupérer la taille
 
DONC ARRETE DE TE COMPLIQUER LA VIE  [:tapai]  
 
 [:titprem]


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

Marsh Posté le 02-08-2002 à 11:07:37    

DarkLord a écrit a écrit :

mais tu te compliques la vie inutiliement. Attends deux secondes --greg-- arrive.
 
Il va t'expliquer comment faire, il l'a déjà fait.
Sinon imageobserver est une interface et à ce titre tu peux l'implémenter si ca te change. Tu as regarder à quoi elle sert au moins?
 
Sinon une ImageIcon se construit à partir d'une URL et tu as des méthodes pour récupérer la taille
 
DONC ARRETE DE TE COMPLIQUER LA VIE  [:tapai]  
 
 [:titprem]  



:??:  :ouch:

Reply

Marsh Posté le 02-08-2002 à 11:15:36    

ouais bin c pas compliqué ce qu'il veut faire et tu l'as déjà fait pour le censured non ?


Message édité par darklord le 02-08-2002 à 11:46:31

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

Marsh Posté le 02-08-2002 à 11:15:36   

Reply

Marsh Posté le 02-08-2002 à 11:30:00    

DarkLord a écrit a écrit :

ouais bin c pas compliqué ce qu'il veut faire et tu l'as déjà fait pour le censured non ?




non, ma servlet elle crée un gif, c tout
par contre, "mesurer" une image (jpg ou autre), on va le faire ce we, coco :o

Reply

Marsh Posté le 02-08-2002 à 11:42:43    

Dis, je dis peut-être une connerie, mais ton Image, tu peux pas la construire directement à partir de l'InputStream que tu utilise pour l'upload ?
C'est que ca m'interresse, je vais être confronté au même genre de problème d'ici peut de temps.

Reply

Marsh Posté le 02-08-2002 à 11:46:14    

--greg-- a écrit a écrit :

 
non, ma servlet elle crée un gif, c tout
par contre, "mesurer" une image (jpg ou autre), on va le faire ce we, coco :o




 
bin wé je sais. Justement je comprends pas où est le problème


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

Marsh Posté le 02-08-2002 à 11:47:17    

DarkLord a écrit a écrit :

 
 
bin wé je sais. Justement je comprends pas où est le problème



ben là il veut "mesurer" une image existante, à partir d'un inputstream ou autre quoi. pas une Image crée par ses soins.

Reply

Marsh Posté le 02-08-2002 à 12:01:58    

R3g a écrit a écrit :

Dis, je dis peut-être une connerie, mais ton Image, tu peux pas la construire directement à partir de l'InputStream que tu utilise pour l'upload ?
C'est que ca m'interresse, je vais être confronté au même genre de problème d'ici peut de temps.




Ca C deja fait..  :D  
 
Mais bon, je bloque toujours sur la récupération de la taille de cette image (après les tests sur le mime-type pour vérifier qu'il s'agit bien d'une image..)
 

Citation :


ben là il veut "mesurer" une image existante, à partir d'un inputstream ou autre quoi. pas une Image crée par ses soins.


 [:yaisse]  
Mais bon j'ai focalisé sur la classe Image car ca me semblait la plus pertinente non ????
 


---------------

Reply

Marsh Posté le 02-08-2002 à 12:06:47    

Dephi a écrit a écrit :

 
 [:yaisse]  
Mais bon j'ai focalisé sur la classe Image car ca me semblait la plus pertinente non ????




 
pas vraiment
 
public abstract class Image  :sarcastic:


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

Marsh Posté le 02-08-2002 à 12:11:48    

J'suis en train de regarder du cote de JAI, ca m'a l'air intéressant, je vous tiens au courant !!
 :)  
(après avoir fait miam-miam..)


---------------

Reply

Marsh Posté le 02-08-2002 à 12:28:31    

Dephi a écrit a écrit :

J'suis en train de regarder du cote de JAI, ca m'a l'air intéressant, je vous tiens au courant !!
 :)  
(après avoir fait miam-miam..)



sinon, si tu peux utiliser le jdk1.4, regarde là dans imageio . (y'a eu un topic de el_gringo(je crois) à ce sujet, et devinez qui lui a repondu :ange: :D)

Reply

Marsh Posté le 02-08-2002 à 13:02:13    

--greg-- a écrit a écrit :

sinon, si tu peux utiliser le jdk1.4, regarde là dans imageio . (y'a eu un topic de el_gringo(je crois) à ce sujet, et devinez qui lui a repondu :ange: :D)




Pas droit au 1.4...  :cry:


---------------

Reply

Marsh Posté le 02-08-2002 à 13:46:39    

Yop, je réponds a moi-même..  :D  
 
C possible en utilisant la librairie JAI...
http://java.sun.com/products/java-media/jai/
Je l'ai un peu parcouru, C une véritable boite à outils pour (faire un peu tout mais dans mon cas) la gestion des images !!  :love:  
(mais bon, j'ai pas tout pigé..  :lol: )
 
On peut donc simplement récupérer les params d'une image avec :
RenderedOp rImg = (RenderedOp) JAI.create("fileload", fileName);
rImg.getHeight());
rImg.getWidth());
 
Ca marche donc, je vais pouvoir faire ce que je veux par contre..
C une vraie usine a gaz !!!
C limite si tu entends pas le CPU raler lorsque tu fais ca...
 :(  
 
Donc si quelqu'un a une autre solution en 1.3, je suis preneur !!!


Message édité par Dephi le 02-08-2002 à 13:48:47

---------------

Reply

Marsh Posté le 02-08-2002 à 14:04:34    

Reply

Marsh Posté le 02-08-2002 à 14:12:34    

...Et jai c pas une unsine à gaz !
Par contre, c sur que c lourd pour le peu de choses que tu veux faire de ton image. (par contre, pr bosser sur les images, JAI c génial !)

Reply

Marsh Posté le 02-08-2002 à 14:17:03    

vérifie : y a une version optimisée pour windows avec des dll et tou !

Reply

Marsh Posté le 02-08-2002 à 14:28:06    

Citation :


...Et jai c pas une unsine à gaz !  


Pour ce que je veux en faire oui !!!!  :D  
 
 
En tout cas merci bcp, je vais plutot utiliser ImageInfo, ca fait exactement ce que je demande, C el bonheur complet !!
(et puis 23 Ko Vs plus de 5Mo, y'a pas photo...)
 
Encore une fois merci el_gringo (et aux autres aussi..)  :jap:  
 [:t3xla]  
 
 


---------------

Reply

Marsh Posté le 02-08-2002 à 14:41:49    

el gringo :jap:

Reply

Marsh Posté le 02-08-2002 à 14:55:36    

bien vu gringo :)
 
 :hello:


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

Marsh Posté le 05-08-2002 à 10:45:30    

moi pour recuperer les mesures de mon images j ai fait comme toi au debut
Image img = ToolKit.getDefaultToolkit().getImage("adressedemonimage" );
apres je fais pour la largeur int largeur = (int ) img.getWidth(null);
 
pareil pour la hauteur......
 
avant de demander la largeur et la hauteur j ai creer un media tracker pour etre sur que l image soit charge (pour obtenir ses proprietes).
 
Ca marche plutot bien...
bruno ;-}

Reply

Marsh Posté le 05-08-2002 à 10:46:53    

ah voiloa MediaTracker c'est le nom que je cherchais :)


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

Marsh Posté le 05-08-2002 à 11:52:27    

bruno5678 a écrit a écrit :

moi pour recuperer les mesures de mon images j ai fait comme toi au debut
Image img = ToolKit.getDefaultToolkit().getImage("adressedemonimage" );
apres je fais pour la largeur int largeur = (int ) img.getWidth(null);
 
pareil pour la hauteur......
 
avant de demander la largeur et la hauteur j ai creer un media tracker pour etre sur que l image soit charge (pour obtenir ses proprietes).
 
Ca marche plutot bien...
bruno ;-}




 
Ouais, par contre, si on cherche juste à récupérer les propriétés de l'image, c dommage de la charger (c plus long, ça occupe de la ram). D'ou l'intéret de l'adresse que g filé : ça charge pas l'image en mémoire.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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