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 :

Problème d'affichage avec Batik


Sujet :

2D Java

  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 86
    Par défaut Problème d'affichage avec Batik
    Salut

    j'utilise Batik pour afficher une image SVG, il lit le fichier sans problème et l'affiche mais si je doit afficher une autre image, j'obtiens l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    java.lang.OutOfMemoryError: Java heap space
    	at java.awt.image.DataBufferInt.<init>(Unknown Source)
    	at java.awt.image.SinglePixelPackedSampleModel.createDataBuffer(Unknown Source)
    	at java.awt.image.Raster.createWritableRaster(Unknown Source)
    	at org.apache.batik.gvt.renderer.DynamicRenderer.updateWorkingBuffers(DynamicRenderer.java:112)
    	at org.apache.batik.gvt.renderer.StaticRenderer.clearOffScreen(StaticRenderer.java:307)
    	at org.apache.batik.swing.gvt.GVTTreeRenderer.run(GVTTreeRenderer.java:108)
    je ne vois pas où se trouve le problème, voici le code pour afficher l'image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    public class AfficheSVG {
     
     
    	protected Document doc;
     
    	 protected Element svg;
    	public void svg(JSVGCanvas canvas, int w, int h){
    		try {					
    		         // Parse the barChart.svg file into a Document.
    		         String parser = XMLResourceDescriptor.getXMLParserClassName();
    		         SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);			         
    		         doc = f.createDocument(new File("C:/data.svg").toURI().toString());
    		         svg = doc.getDocumentElement();
     
    		         // Change the document viewBox.
    		         svg.setAttributeNS(null, "viewBox", "0 0 "+w+" "+h);
     
    		         // Make the text look nice.
    		         svg.setAttributeNS(null, "text-rendering", "geometricPrecision");
     
    		         // Remove the xml-stylesheet PI.
    		         for (Node n = svg.getPreviousSibling();
    		                 n != null;
    		                 n = n.getPreviousSibling()) {
    		             if (n.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) {
    		                 doc.removeChild(n);
    		                 break;
    		             }
    		         }
     
    		         // Remove the Batik sample mark 'use' element.
    		         for (Node n = svg.getLastChild();
    		                 n != null;
    		                 n = n.getPreviousSibling()) {
    		             if (n.getNodeType() == Node.ELEMENT_NODE
    		                     && n.getLocalName().equals("use")) {
    		                 svg.removeChild(n);
    		                 break;
    		             }
    		             canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
    		             canvas.setDocument(doc);		             
    		         }
    		     } catch (Exception ex) {
    		     }
    	}
    	public void destroy(JSVGCanvas canvas) {
    		canvas.dispose();
        }
    }
    merci pour votre aide

  2. #2
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Augmente la taille du tas de ta JVM (options -Xmx, -Xms). Le traitement est gourmand en mémoire et tu dépasses la capacité par défaut de ta JVM.

    Tu trouveras normalement un tutoriel sur le site.

  3. #3
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 86
    Par défaut
    merci pour ta réponse, je connais cette commande mais il n'y aurai pas un autre moyen que de passer par -Xms?

  4. #4
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    À moins d'avoir des images de petite taille, tu n'y échapperas pas. Le traitement d'image, c'est très lourd en mémoire !

  5. #5
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 86
    Par défaut
    d'accord, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'affichage avec IE
    Par sheepk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/11/2005, 13h00
  2. Réponses: 6
    Dernier message: 19/05/2005, 11h06
  3. problème d'affichage avec printf
    Par sorari dans le forum C++
    Réponses: 12
    Dernier message: 08/03/2005, 18h30
  4. Réponses: 6
    Dernier message: 19/10/2004, 13h46
  5. Problème d'affichage avec trace
    Par WriteLN dans le forum Flash
    Réponses: 10
    Dernier message: 22/10/2003, 16h59

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