Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1387 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Image]probleme getWidth getHeight

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Image]probleme getWidth getHeight

n°1681132
zhamos_kh
Posté le 03-02-2008 à 19:13:05  profilanswer
 

Bonjour @ tous
 
J'ai un petit problème avec les fonctions getWidth et getHeight de la classe Image.
 
J'initialise une image et j'affiche sa largeur:
 
 

Code :
  1. ...
  2. Toolkit toolkit = Toolkit.getDefaultToolkit();
  3. Image im = toolkit.getImage("../../Images/FFAC.jpg" );
  4. System.out.println(im.getWidth(null));
  5. ...


 
 
Avec le compilateur fourni avec Fedora 7, ça marche parfaitement. avec un java -version j'ai ça:
Code :
 

Code :
  1. java version "1.5.0"


 
J'ai ensuite installé jdk 1.5.0.14. Une fois compilé et exécuté, cela m'affiche comme taille "-1". De même pour la hauteur (fonction getHeight).
 
J'ai vérifié l'adresse de l'image, elle est bonne.
 
Je ne comprend pas.
 
Merci d'avance pour votre aide

mood
Publicité
Posté le 03-02-2008 à 19:13:05  profilanswer
 

n°1681142
zhamos_kh
Posté le 03-02-2008 à 20:01:15  profilanswer
 

Probleme résolu
Il fallait ajouter image = new ImageIcon(image).getImage();

n°1732251
jamesbond2
Posté le 15-05-2008 à 15:43:51  profilanswer
 

Bonjour, j'ai, en ce moment, le même problème. Mais de mon coté de cré bien mon image comme suit :  

Code :
  1. Image image=new ImageIcon(this.logo).getImage();
  2. this.width=image.getWidth(null);
  3. this.height=image.getHeight(null);


 
la variable this.logo est le chemin d'accès de mon image (elle est valide je l'ai vérifié).
 
Donc comme l'intervenant précédent, je récupère comme hauteur et largeur de mon image "-1"
 
Je ne comprends pas comment récupérer les dimension d'une image en java !
 
Quelqu'un aurait-il une idée ?

n°1733295
jamesbond2
Posté le 18-05-2008 à 11:41:19  profilanswer
 

J'ai finalement laissé tombé le développement de l'application java pour le transformer en applet.
 
Dans cette applet je réussi à récupérer le width et le height d'une image png, mais uniquement dans le code (méthode) de l'applet (public void paint()).  
 
Mon gros soucci c'est que j'appel des objets dans cette applet pour divers traitements et j'ai également besoin de récupérer les dimension d'images png dans ces classes annexes. J'ai essayé de passer en arguments à ces classes mon objet applet.
 
Je suis sur que l'objet est bien passé car je peux utiliser ses méthodes dans mes classes annexes. Cependant les fct getWidth() et getHeight() de l'objet image de l'applet me renvoie toujours "-1"
 

Code :
  1. public class board
  2. {
  3. public board(Applet oApplet)
  4. {
  5.  this.logo="chemin image";
  6.  this.oImage=oApplet.getImage(oApplet.getCodeBase(),"icons/"+this.logo);
  7.  this.width=this.oImage.getWidth(oApplet);
  8.  this.height=this.oImage.getHeight(oApplet);
  9.  System.out.println(this.width); // => -1  
  10.  System.out.println(this.height); // => -1  
  11. }
  12. }
  13. public class chessApplet extends Applet
  14. {
  15. board myBoard;
  16. public void start()
  17. {
  18.  myBoard=new board (this);
  19. }
  20. public void paint(Graphics screen)
  21. {
  22.  myBoard.getBoard().display(screen);
  23.  Image oImage=getImage(getCodeBase(),"icons/wrook.png" );
  24.  screen.drawString(Integer.toString(oImage.getWidth(this)),10,10); // => 33                
  25.  screen.drawString(Integer.toString(oImage.getHeight(this)),10,10); // => 33
  26. }
  27. }


 
est-il impossible d'accèder à certaines propriétés de l'applet à l'extérieur de celle-ci ?

n°1751418
matheret
Posté le 25-06-2008 à 22:18:51  profilanswer
 

Tu récupères -1 parce que ton image n'est pas encore chargée.
Solution crade (il faut être sûr que l'image peut être chargée) :

Code :
  1. Image i = Toolkit.getDefaultToolkit().getImage(file.getAbsolutePath());
  2.             while (i.getWidth(null) == -1)
  3.                 try {
  4.                     Thread.sleep(100);
  5.                 } catch (InterruptedException e) {}


solution propre :
utilise un imageobserver pour être prévenu quand l'image sera chargée : je peux fournir le code sur demande
 
a++;


Message édité par matheret le 25-06-2008 à 23:23:11
n°1751447
matheret
Posté le 25-06-2008 à 23:37:30  profilanswer
 

Plus simple :

Code :
  1. MediaTracker tk = new MediaTracker(new Label());
  2. tk.addImage(img, 1);
  3. tk.waitForID(1);
  4. if (tk.isErrorID(1))
  5.     ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Image]probleme getWidth getHeight

 

Sujets relatifs
PROBLEME AVEC STRUCTUREproblème avec un formulaire : champ non défini
Enregistrer une image avec phpFlux rss et bbcode: problème
Problème avec checkboxITERATION (problème)
Probleme d'exportation de symboles dans une dll-VS2005Problème de guillemets
[résolu] Problème d'affichage sous IE avec librairie mootoolssos probleme de requettes !!!
Plus de sujets relatifs à : [Image]probleme getWidth getHeight


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR