Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Image interne a charger [ Multimédia / Image et vidéo ] (mouchimouchi)

jeudi 3 avril 2008 à 12:33:05 | Image interne a charger

mouchimouchi

Hello,
Autant dire que je ne m'y connais pas trop, genre debutant a fond.

J'essaye d'utiliser une classe ImagePanel ... pour utiliser une image chargée comme un panel.
Et pour le constructeur il faut :
            public ImagePanel ( File fileImg , int x , int y , int width , int height )

Donc moi ca fait chier u niveau du file :
    J'ai essayer :
            File fImg = new File("img/fond.png");
            ImagePanel image = new ImagePanel(fImg, 0, 0, 800, 600);
    Ca me retourne une erreur de la classe ImagePanel : Fichier Invalide.

    Jme suis dit que ca vient de la classe et non elle est bonne, et donc ca viendrais de l'url et donc j'ai tester ca :
            String file = "/img/fond.png";
            File fImg = new File(getClass().getResource(file).toURI());
            ImagePanel image = new ImagePanel(fImg, 0, 0, 800, 600);
    Ca ne me fait rien comme erreur sauf lorsque je lance le .jar en ligne de commande, ca rends une Exception a n'y rien comprendre :
             Exception in Thread ...java... URI is not Hierachical : et des libreries java.

Bon en esperant que quelqu'un reponde
Merci
a pluss
   

jeudi 3 avril 2008 à 14:45:40 | Re : Image interne a charger

Ombitious_Developper

Salut:

Tout dépend de l'emplacement des resources (images, ...).

Normalement, lorsque tu utilises la méthode getResource() tu dois placer/mettre la resource en question à auprès de la classe.

C'est à dire: la classe et le dossier des ressources (s'il existe) doivent se situer dans un même niveau.

|---- ImagePanel.class
|
|----+ img
     |---- image.png


jeudi 3 avril 2008 à 14:56:52 | Re : Image interne a charger

Ombitious_Developper

Salut:

Avec le code présent de ImagePanel tu es dans l'obligation de mettre toutes les images de ton projets dans le package où se localise la classe ImagePanel.

Si tu ne veux pas suivre cette démarche, et associer à chaque interface utilisateur son propre dossier de ressources, tu dois fournir un paramètre supplémentaire au constructeur de la classe ImagePanel de type Class, qui référe à la classe désirant utiliser une image de fond.

Package:

|----+ com
     |------+ util
     |      |-------- ImagePanel
     |
     |------+ view
            |-------- MyFrame
            |--------+ resources
                     |----------- bg.png



J'espère avoir était clair.

jeudi 3 avril 2008 à 16:27:19 | Re : Image interne a charger

mouchimouchi

Heuheuheu
Je t'avouerai avoir compris partiellement.
merci quand meme.

Mais si j'ai bien compris il faut que toutes mes images soit dans un dosier bien precis ...
Je voulais utilisai cette classe dans l'optique d'utiliser le FileChooser, pour qu'un utilisateur choisisse son image et qu'elle s'affiche . Aveec un tas d'option propre au panel basic.

si tu a un ptit exemple d'application pour que je puisse voir comment faire

Merci

jeudi 3 avril 2008 à 16:50:41 | Re : Image interne a charger

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

si tu veux charger une image qui se trouve dans le JAR ou tu veux charger une image depuis le disque dur ?




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO

jeudi 3 avril 2008 à 17:08:55 | Re : Image interne a charger

mouchimouchi

Bin enfaite ...

il me faut les 2, a partir du dd et aussi dans le jar.
A partir du dd le chemin absolut me suffisé : c:\\moi\\toi\\img.png.
Mais a partir du jar j'ai bô essayé de mettre img/fond.png, et toutes les combinaisons possibles avec ca, ca me met "Can't read file input".
Cette erreur m'est retourner par la classe de DARKSIDIOUS.
(tres bonne classe je trouve ).

Voilou

ps : Ombitious peux-tu mieux expliquer ton 2eme poste avec la hierarchis tous ca tous ca ???

jeudi 3 avril 2008 à 18:15:35 | Re : Image interne a charger

Steph115

Membre Club
Bonjour,

Savez vous quels paramètres faut il rajouter dans ces lignes de codes pour utiliser un fichier interne au JAR :

String file = "/img/fond.png";
File fImg = new File(getClass().getResource(file).toURI());
ImagePanel image = new ImagePanel(fImg, 0, 0, 800, 600);

Comme l'a stiplué Ombitious_Developper :
Si tu ne veux pas suivre cette démarche, et associer à chaque interface utilisateur son propre dossier de ressources, tu dois fournir un paramètre supplémentaire au constructeur de la classe ImagePanel de type Class, qui référe à la classe désirant utiliser une image de fond.


Merci encore. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.

vendredi 4 avril 2008 à 09:29:45 | Re : Image interne a charger

Ombitious_Developper

Salut:

Franchement, je n'ai pas jetter un coup oeil sur la classe de DarkSidious, mais je pense qu'avec quelques modifications tu peux obtenir:

public class ImagePanel ... {
    public ImagePanel(Class clazz, int x, int y, int width, int height) {
       // Code
       // Tu changes la méthode "getClass()" par le nouveau paramètre clazz.

       File fImg = new File(clazz.getResource(file).toURI());

       // Autre code
    }
}


Dans la classe désirant avoir un fond:

public class DecoratedFrame extends JFrame {
    // Quelque part dans une méthode non statique
    ImagePanel imgPanel = new ImagePanel(getClass(), 0, 0,
                getWidth(), getHeight());
    // ou bien
    // ImagePanel imgPanel = new ImagePanel(DecoratedFrame.class,
    //                       0, 0, getWidth(), getHeight());

}




vendredi 4 avril 2008 à 11:41:14 | Re : Image interne a charger

mouchimouchi

Hello,
Maintenant j'obtient :    not valid for images created with createImage(producer)

Voici mon code dans la classe principale :
        String chemin = "/img/Collines.jpg";
        String url = this.getClass().getResource(chemin).toString();
        ImageLoader loader = new ImageLoader(url);
        Image img = loader.loadImage();
        Graphics g = img.getGraphics();
        JImagePanel pipi = new JImagePanel(img);
        pipi.paintComponent(g);
      
        jPanel2.add(pipi);
        jPanel2.updateUI();

La classe JImagePanel est ici : ,    http://www.javafr.com/codes/JIMAGEPANEL-PANEL-AFFICHANT-IMAGES-REDIMENSIONNEES-AVEC-MEME-ASPECT_42125.aspx
La classe ImageLoader est là : ici,     http://www.javafr.com/infomsg_CHARGER-IMAGE-SUR-ACTIONPERFORMED_1052257.aspx

Lorsque je regarde avec winrar le fichier .jar, je vois bien que le dossier "img" est à la racine.
Alors bon dieu bon dieu pourquoi l'image ne s'affiche pas correctement dans mon panel ????????

Merci pour vos conseil les mecs ( surtout Ombitious )

vendredi 4 avril 2008 à 12:01:31 | Re : Image interne a charger

Ombitious_Developper

Salut:

Est ce que ce message est apparu avec les nouvelles modifucations?




1 2

Cette discussion est classé dans : int, file, image, imagepanel, fimg


Répondre à ce message

Sujets en rapport avec ce message

redimensionnement de JPEG et EXIF [ par Neo3004 ] Je cherche une solution à un problème depuis un moment : <font face="Arial" si Besoin d'aide création jeu d'échecs [ par laura0813 ] Bonjour, Je suis en deuxième année de licence et j'ai un projet informatique à réaliser. C'est un jeu d'échecs sans intelligence artificielle gérant l Affichage et verification des points [ par JM13nouveau ] Bjr,je cherche à  charger et afficher une image prendre une droite sur cette image, verifier l'equation de cette droite , verifier des points appartie Convertir image couleur en niveaux de gris [ par antoine2468 ] Bonjour,Je cherche à tranformer une image couleur en niveaux de gris.Voici le début de mon code :import java.awt.image.Raster;import javax.media.jai.* Pb pour correctement déplacer mon image ds un JPanel [ par damsaleg95 ] Bonjour à tous,   Voila je suis en plein dans un projet peu simple (celui de fair eun logiciel qui permet de faire des plans de maison en 2D) et la je Upload d'image [ par Vincinho ] Bonjour tout le monde,Voila je dois faire une partie administration pour un site Internet qui permettra a l'administrateur de ce site de copier une im Paint, MiniPaint, charger/ouvrir une image dans la zone de dessin...Jpanel, JFileChooser [ par mel83160 ] Bonjour, j'essai de faire un miniPaint en Java. Il a actuellement de nombreuses fonct Récupération coordonnées pixel [ par LiliF69 ] Bonjour à tous. Je voudrais savoir comment on récupère les coordonnées des pixels d'une imageJ'utilise un BufferefImage que j'étudie ligne par ligne e Interpolation d'images [ par JM13nouveau ] hello,J'ai une image  à interpoler pour avoir une image de dimension 512x512, cette image est le produit de reconstruction  d'images ( nbrimages et NP


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,952 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.