IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

Superposition Images


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut Superposition Images
    Bonjour a tous,

    Voila, j'essaye de mettre au point une application utilisant swing/awt et qui nécéssite de superposer un grand nombre d'images png (40) de taille moyenne 15ko.
    Donc je crée normallement un tableau de 40 images, qui devraient s'afficher avec la méthode paint() via un héritage de la classe Frame.
    Je n'ai d'abord pu afficher que quelques images avant d'avoir une exception Out of Memory (java Heap Space).
    Après m'etre documenté, j'ai essayé d'agrandir la mémoire dédiée a mon application (1go).
    Seulement les images s'affichent puis se réaffichent un certain nombre de fois jusqu'a ne plus bouger. Mais toutes les images ne sont pas affichées...
    J'ai essayé différentes méthodes, via JAI(java advanced imaging) notemment mais les erreurs étaient les mêmes.
    En regardant l mémoire occupée par le programme, je constate qu'il prend 350 mo en ram ce qui me parait abérant.

    Quelqu'un pourrait-il m'aider à résoudre le problème?

    Merci D'avance

    Shoki

    P.S. Je pense que le réaffichage viens d'un accès simultané de deux thread (lancée par drawimage()) sur la sortie d'écran, c'est à dire sur la même couche, mais je n'ai pas trouvé de documentation m'expliquant le fonctionnement interne de la méthode

  2. #2
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    La taille d'un fichier PNG ne donne aucune indication sur sa taille en memoire. Si tes images sont en 1024x768, elles occupent dans les 3 Mo chacune en memoire *au minimum*. Peux-tu nous montrer ton code de paint() ? AWT/Swing utilise un seul et unique thread donc ce n'est pas la le probleme.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut
    voila ma (simple) méthode paint :

    [i]
    public void paint(Graphics g){

    g.drawImage(fond,0,0,1024,768,this);

    int i;

    for (i=0;pays[i]!=null;i++){

    g.drawImage(tablo[i],0,0,1024,768,this);

    }

    }
    Auparavant, j'ai déclaré mes images :

    fond = Toolkit.getDefaultToolkit().getImage(urlImage + "fond.png");

    for (i=0;pays[i]!=null;i++){

    tablo[i]=Toolkit.getDefaultToolkit().getImage(urlImage + pays + random() + ".png");

    }


    Autre chose, je vais ouvrir 43 images en fait et en calculant la mémoire normallement occupée, cela fait 3*43 soit 129 mo, ce ki ne correspond pas...

  4. #4
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    J'ai dit "au minimum" En interne les classes Image peut utiliser d'autres donnees. Bref, ton probleme vient des "this" dans drawImage(). Au lieu de Toolkit, utilise ImageIO pour charger tes images et remplace les this par null. Ca ira beaucoup plus vite. Ensuite, si tu fais ca dans un composant Swing, surcharge paintComponent() au lieu de paint().

Discussions similaires

  1. Superposition images et colorbar
    Par kathej dans le forum Imagerie
    Réponses: 0
    Dernier message: 18/02/2009, 17h37
  2. Différence superposition images entre IE et FF
    Par SheikYerbouti dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 23/10/2008, 14h12
  3. Jframe : Problème de "superposition" image de fond / bouton SUITE
    Par NicolasGuyomar dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 18/03/2007, 13h06
  4. Jframe : Problème de "superposition" image de fond / bouton
    Par lottie dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 15/03/2007, 08h35
  5. [CSS] Superposition image au dessus d'une table
    Par laurent_h dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 31/03/2006, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo