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

Graphisme Java Discussion :

Lire un svg


Sujet :

Graphisme Java

  1. #1
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut Lire un svg
    Hello,

    j'aimerai lire un fichier.svg est le convertir en graphics2D mai je bloque un peut!

    Mon anglais est loin d'être "fluent" et j'ai du mal à déchiffré le site de Batik

    mon but est de lire un fichier.svg contenu dans un répertoire de mon prog

    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
     
    package batik;
     
    import java.awt.BorderLayout; 
    import javax.swing.*; 
     
    import org.apache.batik.swing.JSVGCanvas; 
    public class JSVGCanvasExemple { 
          JFrame frame; 
          // création de l'objet JSVGCanvasExemple 
          static JSVGCanvas svgCanvas = new JSVGCanvas(null,true,false); 
          public static void main(String[] args) { 
             JFrame f = new JFrame("Batik"); 
             // récupère l'URI du document SVG 
             svgCanvas.setURI("voiture2.svg"); 
             final JPanel panel = new JPanel(new BorderLayout()); 
             // ajoute au composant swing (panel) l'objet JSVGCanvasExemple 
             panel.add("Center", svgCanvas); 
             f.getContentPane().add(panel); 
             f.setSize(400,400); 
             f.setVisible(true); 
          } 
    }
    J'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    java.io.IOException: Unable to make sense of URL for connection
    	at org.apache.batik.util.ParsedURLData.openStreamInternal(Unknown Source)
    	at org.apache.batik.util.ParsedURLData.openStream(Unknown Source)
    	at org.apache.batik.util.ParsedURL.openStream(Unknown Source)
    	at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown Source)
    	at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Unknown Source)
    	at org.apache.batik.bridge.DocumentLoader.loadDocument(Unknown Source)
    	at org.apache.batik.swing.svg.SVGDocumentLoader.run(Unknown Source)
    pourtant, mon fichier se trouve dans le repertoire de mon projet
    testSVG>voiture2.svg
    ma classe se trouve dans
    testSVG>src>batik>JSVGCanvasExemple.java



    merci pour votre aide

  2. #2
    mow
    mow est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Par défaut
    Salut

    Réessaye en plaçant ton fichier svg dans le répertoire où sont généré les .class
    Tiens-nous au courant..

    Mow

  3. #3
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut
    j'ai toujours la même erreur

    possibilité de réaliser cela avec salamendre... mais j'ai autant de mal à comprendre comment ça fonctionne

    Je souhaite lire un svg et le tranformer en graphics2D
    Et ensuite faire l'inverse..... transformer un g2d en svg. rien de plus

  4. #4
    mow
    mow est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Par défaut
    Insiste pour moi ton fichier SVG n'est pas placé au bon endroit.
    Si tes .class se trouvent dans le repertoire class, place le fichier SVG dans le répertoire class.

    Ensuite ton fichier SVG, est-il bien formé ??

    Mow

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par mow Voir le message
    Insiste pour moi ton fichier SVG n'est pas placé au bon endroit.
    Le problème n'est pas l'emplacement du fichier mais la façon dont il est nommé !

    Apparemment Batik utilise des URI, qui permettent d'identifier sans ambigüité... ce qui n'est pas le cas de ton "voiture2.svg". Que signifie-t-il exactement :
    • Est-ce un nom de fichier dans le répertoire de travail ?
    • Est-ce le nom d'une ressource dans le classpath ?
    • Est-ce le nom d'une ressource distante ?
    • ...

    Bref il y a l'embarras du choix !

    Batik gère plusieurs types de source et nécessite donc des informations plus complètes. Pour lever toute ambigüité il suffit de donner une information valide, par exemple s'il s'agit d'un fichier dans le répertoire courant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    svgCanvas.setURI(new File("voiture2.svg").toURI().toString());
    S'il s'agit d'un fichier dans le classpath :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    svgCanvas.setURI( JSVGCanvasExemple.class.getResource("/voiture2.svg").toString());
    etc...

    a++


    [edit]
    PS : ca n'a rien à voir mais rajoute un setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) sur ta JFrame, pour éviter que l'application continue à tourner quand tu ferme ta fenêtre...

  6. #6
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut
    merci beaucoup

    Cela fonctionne nickel

    Maintenant que j'arrive à lire le svg, comment puis-je faire pour transformer le svg en graphics2D?

  7. #7
    mow
    mow est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Par défaut
    Ok merci pour l'info ; cela m'apprendra à ne pas me mettre en situation.

    Désolé,
    Mow

  8. #8
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut
    Pas besoin d'être désolé au moins, tu prends du temps pour aider

Discussions similaires

  1. [Batik] Lire un fichier SVG
    Par FuRiOuZ dans le forum Graphisme
    Réponses: 2
    Dernier message: 19/09/2013, 01h14
  2. batik : lire un fichier svg
    Par FuRiOuZ dans le forum APIs
    Réponses: 2
    Dernier message: 18/09/2013, 20h12
  3. Le grand mode d'emploi du forum, à lire si vous souhaitez tout savoir !
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 03/06/2013, 17h36
  4. Lire un .wmf (.svg) avec Flex?
    Par ®om dans le forum Flex
    Réponses: 3
    Dernier message: 10/02/2009, 10h36
  5. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 00h11

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