Aller au contenu

Programmation objet et géométrie/Objets en Python sous Gimp

Un livre de Wikilivres.

Gimp est un acronyme signifiant Graphic Image Manipulation Program. C'est donc un logiciel spécialisé dans le traitement d'images, et les images (ainsi que les filtres) sont idéalement des objets. Par ailleurs, les figures géométriques sont des images. Le paradigme de la programmation objet est donc tout-à-fait applicable à de la géométrie faite sous Gimp. Ceci n'est sans doute pas étranger au fait qu'en plus de sa console Script-Fu (en langage Scheme), le Gimp s'est vu doté d'une console Python (langage), puisque le langage Python est un langage objet.

Une différence importante entre Gimp et la géométrie repérée est que l'axe des ordonnées est dirigé vers le bas (héritage des télétypes où on repérait les caractères par leur numéro de ligne).


Gimp et Python

[modifier | modifier le wikicode]

Pour bénéficier de l'interface Python de Gimp sous Windows, il faut d'abord installer Python, ainsi que des extensions répondant au nom de pyGtk (interface Gtk pour Python[1]) qui permet en quelque sorte de relier Gimp et Python. L'installation doit se faire dans cet ordre:

  1. Python pour Windows
  2. PyGtk
  3. enfin seulement, le Gimp.

En effet lorsqu'on l'installe, Gimp cherche tout seul ses extensions, et l'interface Python ne sera reconnue par lui que si elle est présente!

Par contre sous les systèmes à base d'UNIX, l'extension Python est activée par défaut sous Gimp. Il n'y a donc pas d'installation supplémentaire à faire!

Structure d'un script

[modifier | modifier le wikicode]

Un script pour Gimp doit commencer par

#!/usr/bin/env python

et doit être exécutable.

Et pour l'utiliser comme un filtre Gimp, on doit l'enregistrer dans la base de donnée des procédures. Ce qui se fait en terminant le script par quelque chose comme ceci:

register(
       	"NomCourt",
	"Description",
	"Message",
	"Auteur du script",
	"Licence GPL",
	"2010",
	"NomLong",
	"*",
	[
	(PF_IMAGE,"img","image vide",None)
	],
	[],
	procedure,
        menu="<Image>/Filters/Render")

Les deux premières lignes donnent la description courte du script et sa description longue, la troisième donne un message qui s'affiche pendant l'exécution du script. Ensuite viennent le nom de l'auteur du script et la licence sous laquelle elle est placée (par exemple la Licence GPL), puis l'année de création du script. Ensuite c'est le texte qui apparaît dans la bulle d'aide, le type d'image (le caractère "étoile" veut dire "tout type d'image"). Entre crochets, on donne la liste des variables entrées dans le script (ici, l'image source qui est supposée vide). Enfin viennent le nom de la fonction Python qui sera appelée lorsqu'on sélectionne le script, et enfin l'emplacement du script dans le menu des outils de Gimp (ici dans le sous-menu "rendus" du menu des filtres).

  1. téléchargeable ici: http:www.pygtk.org