Exporter vers Gimp sous Windows, c’est possible !

Décryptons les scripts

Les utilisateurs les plus curieux l’auront sans doute remarqué, certaines options d’exportation et d’importation sont disponibles sous Gnu/Linux, mais pas sous Windows. Il ne s’agit pas ici de favoritisme délibéré (vous en doutiez ?) mais découle du fait que les développeurs d’Inkscape sont principalement équipés de Gnu/Linux ou OSX. Du coup, certaines fonctionnalités sont tout d’abord développées avec ces systèmes d’exploitation, puis portées (ou pas) vers Windows. Et dans le cas qui nous préoccupe, c’est une bonne partie du mécanisme gérant les scripts d’entrée et sortie qui est en cause. Les filtres qui ne nécessitent pas d’application tierce fonctionnent la plupart du temps parfaitement bien, mais pour ceux qui doivent s’appuyer sur Gimp ou Dia, par exemple, ce n’est pas tout à fait pareil.

Bon, pour notre exemple, prenons une extension utilisée par les concepteurs de sites pour exporter un fichier SVG vers Gimp tout en conservant la grille et les guides et en convertissant chaque calque du fichier en un calque Gimp. Lorsque le système est correctement paramétré, l’extension apparaît dans le menu Fichier>Enregistrer sous, sous l’intitulé « Gimp XCF avec conservation des calques ».

Un peu de technique (juste un peu)

Regardons de plus près comment tout cela fonctionne (ou plutôt ne fonctionne pas…).

Tout d’abord, nous avons un script d’exportation. Un script tout bête, qui ressemble à n’importe quel script disponible dans le menu Extensions. Sauf que celui-ci est spécial, puisque dédié à l’exportation. Pour l’exécuter, Inkscape à besoin d’un fichier faisant l’interface entre l’application et l’interpréteur Python, en voici un extrait (issu de gimp_xcf.inx).

<dependency type= »executable » location= »path »>gimp</dependency>

<param name= »guides » type= »boolean » _gui-text= »Save Guides: »>false</param>
<param name= »grid » type= »boolean » _gui-text= »Save Grid: »>false</param>
<output>
<extension>.xcf</extension>
<mimetype>application/x-xcf</mimetype>
<_filetypename>GIMP XCF maintaining layers (*.xcf)</_filetypename>
<_filetypetooltip>GIMP XCF maintaining layers (*.xcf)</_filetypetooltip>
<dataloss>true</dataloss>
</output>

Les éléments <param> sont les paramètres proposés à l’utilisateur lorsque l’extension est exécutée. Tout le reste au-dessous définit comment apparaît cette extension dans le menu Enregistrer sous. L’élément <output> permet à Inkscape de reconnaitre l’extension comme un filtre de sortie. Et enfin, pour terminer, l’élément <dependency> indique que l’exécutable gimp doit impérativement se trouver dans le chemin de l’utilisateur. Sinon, rien, que dalle, pas d’exportation XCF, désolé, c’est niet. Ah si, quand même, ça laisse un petit message d’erreur dans votre dossier de configuration personnel d’Inkscape (C:\Documents and Settings\%USERNAME%\Application Data\Inkscape\extension-errors.log).

Lorsque ça fonctionne, l’extension provoque l’ouverture de la boîte de dialogue suivante :

Finalement, ce n’est pas si compliqué !

Si avec Gnu/Linux tout fonctionne bien sans rien faire, c’est parce que l’exécutable de Gimp s’appelle bien gimp, et qu’il est généralement dans le chemin /usr/bin, avec de nombreuses autres applications, et que ce chemin est pratiquement tout le temps dans l’environnement utilisateur (en gros, quand le système d’exploitation ne sait pas où est une application appelée par son seul nom, c’est dans ce chemin qu’il va regarder).

Sous Windows par contre, les exécutables des applications ne sont pas stockés dans un dossier commun, et ne sont donc pas par défaut dans l’environnement utilisateur. Il faut alors les ajouter, si besoin, dans la variable qui va bien. Voici comment faire (avec XP, mais ça ne doit pas être trop différent avec Seven et Vista) :

1. Ajoutez le chemin vers Gimp dans l’environnement système (tout ce qui est dans le chemin système est propagé à l’environnement utilisateur).

1a. Cliquez-droit sur l’icône Poste de travail et choisissez Propriétés dans le menu contextuel pour ouvrir la boîte de dialogue des propriétés système.
1b. Dans l’onglet Avancé, cliquez sur le bouton Variables d’environnement, tout en bas à gauche.
1c. Dans les variables système, partie basse de la boîte des variables d’environnement, double-cliquez sur la variable Path.
1d. Ajouter à la fin de la chaîne un point-virgule, puis le chemin vers Gimp. Avec Gimp 2.6, il faut ajouter la chaîne suivante « ;C:Program Files\GIMP-2.0\bin ».
1e. Fermez proprement (en cliquant Oui partout) les boîtes de dialogue précédemment ouvertes.

2. Renommez l’exécutable.

2a. Dans le dossier d’installation de Gimp, copier l’exécutable « gimp-2.6.exe ».
2b. Renommez la copie en « gimp.exe ».

3. Téléchargez le script à jour. Si vous avez une version d’Inkscape antérieure à la 0.49 (oui, je sais, la 0.48 n’est toujours pas sortie, mais mesurez votre chance, je vous donne là une astuce pour une fonctionnalité qui n’est sensée fonctionner que dans plusieurs mois !), votre version du script plante lamentablement (pour une sombre histoire d’antislash dans les chemins, allez comprendre…). Effectuez alors les étapes suivantes.

3a. Téléchargez la dernière version du fichier script [1]. Si vous êtes gourmands, et que vous voulez aussi profiter d’une nouvelle option permettant d’exporter (ou pas) le fond de page dans chaque calque Gimp et d’un nouvel onglet d’aide (le tout non traduit, désolé !), téléchargez aussi le fichier inx [2].
3b. Copiez le ou les fichiers dans le dossier C:Program Files\Inkscape\share\extensions.

4. Relancez Inkscape, puis ouvrez Fichier>Enregistrer sous pour vérifier qu’une nouvelle ligne mentionnant « Gimp XCF avec conservation des calques » a bien été ajoutée.

Si par malheur ça ne fonctionnait pas comme espéré, n’hésitez pas à poser vos questions sur le site Launchpad (en français ou en anglais) [3] ou à déposer un rapport de bogue (en anglais) sur le même site.

Amusez-vous bien !

Édition du 14 janvier 2013 : des modifications effectuées récemment dans la prise en charge des traduction dans le code en développement ont rendu incompatible l’extension avec la version stable d’Inkscape. Pour que tout fonctionne normalement (mis à part les messages émis par le code Python, qui ne seront pas traduits), il faut supprimer la ligne contenant inkex.localize() dans le fichier gimp_xcf.py.

[1] http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/gimp_xcf.py

[2] http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/gimp_xcf.inx

[3] https://launchpad.net/inkscape

8 réflexions au sujet de « Exporter vers Gimp sous Windows, c’est possible ! »

  1. Merci JazzyNico pour cet article assez clair. N’ayant pas windows, le style m’a quand même donné envie de le lire jusqu’au bout !

  2. Bonjour,
    Chez moi cela ne fonctionne pas, a chaque fois j’ai le message suivant:
    Script-fu.exe point d’entrée introuvable
    le point d’entrée de procédure g_list_free_full est introuvable …dans la bibliothèque libglib-2.0-0.dll
    que faire ? merci

  3. Peut être (surement ) ai je une nouvelle version (oui,c’est même certain) … Dans inskape aujourd’hui il y a Fichier -> exporter en bitmap … Et hop l’extension est directement en .png donc on ouvre avec Gimp ! C génial !

  4. Bonjour Jazzy Nico,

    Je recherchais une méthode pour ouvrir un fichier Gimp après une installation de Gimp version préview 2.8 installée avec un installeur mais qui n’avait pas enregistrée Gimp dans les variable d’environnement MAIS grâce à votre texte, j’ai réussi à faire enregistrer GIMP comme soft pour ouvrir les fichiers .xcf, UN GRAND MERCI, L’ARTISTE!
    J’ai écrit un variable path vers le dossier de mon gimp, j’ai renommer le fichier exe de mon gimp (en conservant son vrai nom quelque part, of course). et je suis retourné vers le fichier que je voulais ouvrir; j’ai fait clic droite et choisi « ouvrir avec… », j’ai ouvert l’explorateur et j’ai navigué vers le fichier exe de gimp nouvellement renommé et hop, GIMP est enfin apparu dans la liste des logiciels susceptible de l’ouvrir et ensuite je l’ai choisi comme convenu et gimp a ouvert enfin mon fichier et changé l’apparence des icônes de tous les fichiers .xcf sur mon ordi! « Réuzzite parvaite, my Herr »!
    Danke Schône!

  5. Bonjour,
    Je débute (un peu) avec Inkscape (v 0.48.2 r9819) et
    Gimp ‘pack mode v 2.6.2)
    J’ai tout fait ce qui est dit + haut

    Avec l’enregistrer-sous Inkscap me dit :
    « This extension requires at least one non empty layer. »
    et le fichier fait 0 Ko

    Un autre dessin svg
    J’ai un msg d’erreur :
    Fenêtre ‘tiff.exe – Composant introuvable
    Msg :
    « Cette application n’a pas pu démarrer car libgimpui-2.0-0.dll est introuvable.
    La réinstallation de cette application peut corriger ce problème. »

    J’ai bien « libgimpui-2.0-0.dll » dans « C:Program FilesGimp Pack Modebin »

    Dans Inkscap il n’y a pas de calques Menu Calques/Calques il n’y en a pas
    si j’en rajoute un il apparaît dans cette fenêtre.

    Une idée ?

    Cordialement
    Ps je suis sous Xp sp2

    • @Lavastre – Il faut bien vérifier que l’emplacement indiqué en 1d. reflète bien votre installation. Si Gimp est installé dans « C:Program FilesGimp Pack Modebin », c’est bien cette valeur qu’il faut ajouter au chemin.
      En ce qui concerne votre problème de calque, il faut vérifier que le modèle que vous utilisez à un calque par défaut, et que c’est bien dans ce calque que vous avez créé vos objets. Pour cela, ouvrez la boîte de dialogue des calques avec la combinaison de touches Ctrl+Maj+L et ajoutez si nécessaire le calque manquant.
      Si vous n’y arrivez toujours pas, je vous invite à utiliser plutôt la page dédiée au support sur le site Launchpad du projet (https://answers.launchpad.net/inkscape), plus pratique à utiliser que les commentaires de blogs.

      Bonne journée !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *