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

C++ Discussion :

importer un fichier .eps


Sujet :

C++

  1. #1
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 266
    Points : 86
    Points
    86
    Par défaut importer un fichier .eps
    Bonjour,

    Je souhaiterais intégré l'importation de fichier .EPS , dans mon programme de CAO.

    M'étant documenté sur le sujet je sais que les fichiers .EPS sont en réalité codé en langage postscript.

    Je souhaiterais savoir si il existait une bibliothèque ou autre qui pourrait ouvrir ces fichiers et me donner les coordonnées de chaque point à placer que j'intégrerais dans mon programme ou si il valait mieux que je fasse moi même le décryptage du fichier.

    Si oui avez vous une idée de comment je devrais commencer à m'y prendre.

    J'ai trouvé sur "mon ami google" la bibliothèque gostscript mais j'ai peur que celle ci ne fasse pas exactement ce dont j'ai besoin.

    j'ai besoin d'obtenir les mouvements à effectuer pour pouvoir par la suite dans mon programme effectuer moi même le dessin de ces mouvements.

    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Points : 1 475
    Points
    1 475
    Par défaut
    bonjour,
    petit ambiguïté de bouton. Il ne semble pas exister beaucoup de parsers EPS disponibles, après une recherche rapide. ghostscript apparaît plus comme un logiciel à part, plutôt dédié à l'affichage ou au transcodage vers d'autres formats principalement des rasters...
    Cependant ceci semble être une piste pour obtenir des données sous forme vectorielle.

  3. #3
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 266
    Points : 86
    Points
    86
    Par défaut
    de certain ??

    Si il faut d'autres détails je suis prête à en donner plus il suffit de demander.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Points : 1 475
    Points
    1 475
    Par défaut
    Pour la clarté de lecture: mon message précédent est parti après la frappe des trois premiers mots...le clavier d'un portable corporate moyen mérite rarement son nom...
    Bref: j'ai entrepris de supprimer ce message inintelligible et de le remplacer par ma réponse précédente.

  5. #5
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Lire du postscript, c’est un gros morceau.

    C’est un langage turing-complet, qui fait usage intensif de piles, et dont la logique est assez longue à prendre en main. Le « postscript reference language » est un pavé d’environ 800 pages si ma mémoire ne me fait pas défaut.

    En plus de ça, c’est un langage fortement orienté impression / visualisation, et en retirer des informations directes est loin d’être trivial.

  6. #6
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 266
    Points : 86
    Points
    86
    Par défaut
    Lire du postscript, c’est un gros morceau.
    c'est bien pour ça que ça m'aurais arrangé qu'une tel librairie ou bout de code existe déjà.

    Cependant ceci semble être une piste pour obtenir des données sous forme vectorielle.
    d’après ce que j'ai pu voir ( j'ai regarder vite fait) cela semble être des fonction de dessin également. Les seul fonctions "GET" que j'ai pu observer sont des fonction de récupération de la taille de l'écran ou de paramètres relatifs à l'écran

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Points : 1 475
    Points
    1 475
    Par défaut
    En lisant ça
    Visual Trace instructions may be inserted in code to provide debug output in a graphical form. Graphics Library doesn't provide a rasterisation of the output, because it is platform dependent. Instead this, client application shpuld set vd_trace0 external variable to Graphics Library, passing a set of callbacks which provide the rasterization.
    moi aussi assez vite, j'avais eu l'impression que c'était la définition d'une interface de callbacks A IMPLEMENTER pour faire du trace.
    Peut-être un moyen de récupérer des infos sous forme vectorielle.
    Mais je peux m'être trompé...

  8. #8
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2007
    Messages : 373
    Points : 764
    Points
    764
    Par défaut
    On peut faire des choses très simples comme des choses très compliquées en EPS (qui est un sous-ensemble du langage post-script). J'ai appris à en comprendre les bases assez rapidement grâce à ce document provenant de chez Adobe, peut être que ça pourra t'aider.

    À quoi ressemble ton image, et que veux tu récupérer exactement ?

  9. #9
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 266
    Points : 86
    Points
    86
    Par défaut
    Mon image peut etres varié le but étant bien sur de TOUS pouvoir les ouvrir.

    je souhaite récupérer l'ensemble des ÉLÉMENTS VECTORIELS. et gros je souhaite récupérer tous ce qui pourrai être transformer en ligne et en courbe. les remplissage, l'épaisseur, etc ne m’intéresse pas.

  10. #10
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2007
    Messages : 373
    Points : 764
    Points
    764
    Par défaut
    Dans ce cas je pense que tu pourrais avoir intérêt à convertir tes images EPS en un autre format plus simple, par exemple le SVG (le logiciel Inkscape s'en sort plutôt bien pour faire la conversion).

  11. #11
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 266
    Points : 86
    Points
    86
    Par défaut
    Dans ce cas je pense que tu pourrais avoir intérêt à convertir tes images EPS en un autre format plus simple, par exemple le SVG (le logiciel Inkscape s'en sort plutôt bien pour faire la conversion).
    Le cahier des charge m'impose que le type de fichier a importer soit :
    - soit des fichiers EPS
    - soit des fichiers AI

    or je n'ai pas trouvé de doc que je comprenne sur les fichiers AI, ou qui correspondent a ce que contiennent mes fichiers .AI que j'ai généré pour exemple
    je me suis donc rabattu sur les fichier EPS qui me semblais plus simple comprendre.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Points : 1 475
    Points
    1 475
    Par défaut
    AI <-> Adobe Illustrator, format propriétaire. Ils ne vont pas documenter le parsing de leurs fichiers, of course...
    A voir si adobe offre une lib pour intégrer le parsing des AI, et à quelles conditions ($$$$$$ ? )
    Concernant EPS, tu es sûre de ne pas pouvoir détourner l'API de tracing opur faire de l'import à la place?

  13. #13
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 266
    Points : 86
    Points
    86
    Par défaut
    Concernant EPS, tu es sûre de ne pas pouvoir détourner l'API de tracing opur faire de l'import à la place?
    Je ne dis pas que c'est impossible , mais si c'est possible je ne m'y connais pas encore suffisamment pour voir comment faire.
    ( je suis encore assez jeune dans le monde de l'informatique )

  14. #14
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Points : 1 475
    Points
    1 475
    Par défaut
    Il faut vérifier directement sur la lib, mais si je ne me trompe pas ce ne sont pas des fonctions à appeler, mais les signature de callback, c'est à dire des fonctions à implémenter pour qu'elles soient appelées par le parseur. C'est censé fournir l'API pour les drivers mais comme les appels fournissent les coordonnées, on peu aussi implémenter quelque chose qui les récupère pour les intégrer à un modèle.

  15. #15
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2007
    Messages : 373
    Points : 764
    Points
    764
    Par défaut
    Citation Envoyé par flamme34 Voir le message
    Le cahier des charge m'impose que le type de fichier a importer soit :
    - soit des fichiers EPS
    - soit des fichiers AI
    Ça ne t'empêche pas d'utiliser en interne une bibliothèque qui converti ton fichier EPS en autre chose, et d'analyser (toujours en interne) ce format intermédiaire pour en tirer les informations qui t'intéressent Tu peux par exemple utiliser ImageMagick (et sa version C++ Magick++) pour faire ça.

    Sinon si tu tiens à lire le fichier EPS directement, tu peux jeter un oeil au code source de ImageMagick. Le code de lecture des fichiers PS (et donc des fichiers EPS) se trouve dans le fichier "coders/ps.c", et fait appel aux delegates Ghostscript.

  16. #16
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 266
    Points : 86
    Points
    86
    Par défaut
    Ça ne t'empêche pas d'utiliser en interne une bibliothèque qui converti ton fichier EPS en autre chose, et d'analyser (toujours en interne) ce format intermédiaire pour en tirer les informations qui t'intéressent Tu peux par exemple utiliser ImageMagick (et sa version C++ Magick++) pour faire ça.
    Ayant déja posé la question au client si je pouvais utilisé les SVG, ils m'ont répondu ( je cite ) :
    le SVG peut entrainer des légère modifications, donc des soucis.
    donc j'imagine que la conversion de EPS vers SVG aussi

  17. #17
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 266
    Points : 86
    Points
    86
    Par défaut
    Sinon si tu tiens à lire le fichier EPS directement, tu peux jeter un oeil au code source de ImageMagick. Le code de lecture des fichiers PS (et donc des fichiers EPS) se trouve dans le fichier "coders/ps.c", et fait appel aux delegates Ghostscript.
    J'y est jeter un coup d’œil et j’avoue avoir du mal a tous comprendre.

    Mais mon interpréteur de EPS étant bien avancé je pensais continuer sur ça ( au moins j'aurais la joie de me dire que j'ai réussi a le faire moi même :p )

    Je sais que ce n'ai pas forcement le bon endroit pour poser la question car il s'agit du forum C++ et que c'est une question de Postscript mais je la pose quand même on sait jamais :

    - j'ai du mal a comprendre la différence entre un def et un bind def Quelqu'un pourrais m’expliquer?
    - De plus lorsqu'on défini une variable si il s'agit d'une procédure celle ci est-elle toujours entre accolade?

    J'ai en tête les exemples suivants qui se pose dans un de mes fichier eps :
    /cairo_eps_state save def
    /op_count count 1 sub def
    Dois-je faire l’opération est mettre le résultat dans la variable ou dois je stocker toute la procédure dans la variable?

Discussions similaires

  1. importer un fichier .eps
    Par flamme34 dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 23/10/2013, 11h36
  2. [VB.NET] Importation de fichier texte
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 5
    Dernier message: 25/05/2004, 09h39
  3. Importer un fichier IDAPI32.cfg propre à chaque appli(BDE)
    Par carlhian dans le forum Bases de données
    Réponses: 3
    Dernier message: 07/05/2004, 14h18
  4. Importer des fichiers textes délimités
    Par Invité dans le forum Outils
    Réponses: 2
    Dernier message: 23/09/2002, 13h56
  5. [DEV-C++]#import de fichier .tlb
    Par pdl dans le forum Dev-C++
    Réponses: 6
    Dernier message: 19/07/2002, 22h46

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