Cette publication ne fait pas partie de la bibliothèque YouScribe
Elle est disponible uniquement à l'achat (la librairie de YouScribe)
Achetez pour : 6,00 € Lire un extrait

Lecture en ligne + Téléchargement

Format(s) : PDF

sans DRM

Partagez cette publication

07/04/16 1/31407/04/16 2/31407/04/16 3/314
ISBN: 978-2-9558178-0-3 Août 2016
07/04/16 4/314TABLE DES MATIERES
INTRODUCTION
1) Création initiale d’un dessin
OUTILS DE BASE
2) Introduction aux outils
2.1) Classification
2.2) L'outil Remplissage
2.3) Déplacement d'une zone
3) Création d'un dessin avec plusieurs calques et enregistrement d'un
travail
4) Sélections, copier/coller et déplacements
4.1) Copier/coller avec l’outil sélection rectangulaire, sélection flottante
4.2) Copier/coller’outil sélection rectangulaire et plusieurs calques
4.3) Union de sélections
4.4) Autres possibilités d’opérateurs
CALQUES, CALQUES DE TEXTE
5) Première écriture d’un texte simple
6) Quelques mots sur la gestion des fenêtres
AUTRES OUTILS IMPORTANTS DE SELECTIONS
7) Autres outils de sélection
7.1) L’outil de sélection contiguë
07/04/16 5/3147.2) Outil de sélection par couleur
7.3) L'éditeur de sélection
DESSINS, CHEMINS, DEFORMATIONS DE TEXTE
8) Dessin de formes simples
9) Chemins, courbes de Bézier
10) Quelques outils pour chemins et textes
10.1) Ecriture le long d’un chemin
10.2) Déformations d’un chemin
10.3) Déformation d’un texte
DETOURAGE
11) Outils de détourage
11.1) Outil d’extraction de premier plan
11.2) Outil ciseaux intelligents
11.3) Outil chemin
11.4) Affichage avec zoom
CANEVAS ET CALQUES, TRANSPARENCE
12) Introduction au canevas, traitements simples sur les dimensions
12.1) Le canevas, un rognage simple
12.2) Changement de définition d'une image
12.3) L'outil de rognage
12.4) Différences entre les changement de taille d'image, de calque ou de
canevas
13) Eviter les insertions avec un pourtour laid
14) Quelques mots de plus sur les couleurs et la transparence
07/04/16 6/31414.1) L'outil pipette
14.2) La transparence, canal alpha
14.3) Manipulations du canal alpha
OUTILS DE TRANSFORMATION, ROTATIONS
15) Outils de rotation
15.1) La grille
15.2) Redressement de photos
15.3) Transformer ou outil de rotation
16) Outil cage
APPLICATIONS: COMPOSITIONS, BD, ANIMATIONS
17) Composition simple d'une image à partir de plusieurs images
18) Création d'animations
19) Créer des bulles pour bandes dessinées, encore des chemins
20) Création de petites animations de texte ou d'image
FILTRES
21) Filtres alpha vers logo, groupes de calques
22) Effets sur images
22.1) Effet dessiné
22.2) Modifications de texte
AMELIORATIONS D'IMAGES, CALQUES
07/04/16 7/31423) Couleurs, calques et corrections
23.1) Couleurs en RVB
23.2) Compléments sur la pipette
23.3) Fusion de calques, modes de calques, modifications de luminosité
23.4) L'outil dégradé
23.5) Exemple de correction de luminosité
23.6) Quelques formules de mode de calques
23.7) Amélioration de netteté
23.8) Fusions et déplacements de calques
24) Améliorations d'images par clonages, effacements de zone
24.1) L'outil clonage
24.2) Enlever des parties d'images non désirées
24.3) Le filtre Resynthesize
25) Quelques techniques supplémentaires
26) Retouches et lissage d'une transition brutale
COULEURS, MESURES
27) Encore quelques mots sur les couleurs
27.1) Quelques considérations sur les couleurs
27.2) Quelques couleurs en RVB
27.3) Codage HSV
27.4) Conversion en noir et blanc
27.5) L'écran d'ordinateur, constitution
27.6) Canal alpha, la gomme
27.7) Calques et couleurs
27.8) Quelques outils de correction de couleurs
27.9) Le sous-menu Auto
28) Mesures et positionnements précis
28.1) Aimantation avec la grille
28.2) Outil de mesure
07/04/16 8/31428.3) Grilles et guides
28.4) Histogramme plus précis
28.5) 72 ou 96 dpi
28.6) Mode RVB ou indexé
COMPLEMENTS: CANAUX, CALQUES ...
29) Composition / Décomposition de canaux en RVB
29.1) Commande Décomposer
29.2) Commande Mixeur de canaux
30) Canaux et sélections
PROGRAMMATION EN PYTHON
31) Filtres Python-Fu
31.1) Installation de greffons / scripts
31.2) Premiers essais de variables de GIMP et de méthodes d'API
31.3 Ecriture d'un greffon
31.4) Pour finir: quelques dernières explorations de procédures
ANNEXES
ANNEXE: raccourcis clavier GIMP
ANNEXE: quelques lectures sur GIMP
ANNEXE: extraits de documentations pour Python sous GIMP
ANNEXE: programme d'effacement de zone avec NumPy
ANNEXE: GTK et GIMP
ANNEXE: notions sur PYTHON avec essais à la console PYTHON
07/04/16 9/314 Conventions et notations
Dans ce texte on a adopté quelques conventions personnelles pour des mises en évidence assez
basiques.
On a encadré par des caractères < et > (ou guillemets français simples ou chevrons simples) les
commandes correspondant à un bouton (au sens large) de l’interface utilisateur.
Dés que l'on rencontre dans ce texte une chaine du genre <xyz> cela implique un clic sur xyz.
Pour dire que l'on désire créer une nouvelle image on précisera:
Faire <Fichier> <Nouvelle image> ......
Ce qui indique qu'il faut cliquer deux fois: une première fois sur le bouton <Fichier> puis enchaîner
par un deuxième clic sur le bouton <Nouvelle image>.
Un clic, sans donner de précision, sera supposé un clic du bouton gauche de la souris.
Les raccourcis clavier seront notés avec des majuscules.
Par exemple le raccourci clavier pour la création d'une nouvelle image sera écrit comme CTRL+N.
On trouvera aussi des actions à effectuer comme par exemples:
remplir le champ de texte «Nom du calque» ou bien spécifier «Largeur» ou choisir «Type de
remplissage de calque» ...... Clic sur l'ellipse .... etc. On utilisera donc des guillemets français
doubles (dit aussi chevrons doubles). Pour spécifier une valeur on utilisera une écriture en script et
de taille un peu plus grande que le texte courant.
Quand on veut exprimer plusieurs actions sur une seule ligne de ce texte (pour gagner de la place)
on pourra séparer les actions par un point virgule.
Un exemple avec deux actions: Cliquer sur le bandeau; Choisir une couleur.
07/04/16 10/314Quand on parlera d'une fenêtre (ou d'un onglet ...) on la nommera par son nom tout simplement et
on encadrera le nom par des guillemets droits doubles " (dits aussi chiures de mouches!). Mais
quelquefois cela devient lourd, on écrira le nom alors sans guillemets.
Pour parler d'un outil on le nommera en commençant par une majuscule.
Par exemple on parlera de l'outil Gomme ou de l'outil Dégradé ou de l'outil Pinceau .....
On remarque que, pour les listes déroulantes «Largeur» et «Hauteur», des nombres sont indiqués
(640 et 400) et qu'à coté on a une liste de choix «px» (pas très joli comme dénomination mais cette
liste n'a pas de nom!). C'est une indication de l'unité qui est à utiliser pour les listes déroulantes. px
signifie pixels.
Sauf indication contraire quand on donnera des nombres ce sera avec cette unité implicite à
adopter. On donnera les nombres en pixels.
D'autres choix sont possibles, voici quelques possibilités:
px <=> pixels, mm <=> millimètres, cm <=> centimètres
pt <=> points, = 1/72 inches ..... etc.
Pour nous un pixel sera un point de l'écran possédant un code couleur.
Dans les exemples de cette introduction on a deux fenêtres "Nouveau calque" et "Editeur d'image
GIMP". On appliquera cette notation à tout nom (par exemple des noms de calques, des noms de
fichiers ...) ou à du texte simple.
Notre convention ne serait évidemment pas pratique si l'on avait à faire un cours sur Html et ne
semble pas bien orthodoxe d'un point de vue typographique! Mais elle est simple. Les mises en
évidence sophistiquées, que l'on trouve souvent, présentent l'inconvénient d'être difficile à
reproduire lors d'une écriture manuscrite. On a aussi d'autres mises en évidence à faire, celles qui
concernent l'aspect pédagogique. Cela fait beaucoup.
07/04/16 11/31407/04/16 12/314INTRODUCTION
Le but de ce fascicule est d'aider à l'apprentissage de quelques mécanismes importants du logiciel
GIMP à travers des exemples. Il est destiné à un public motivé (parce que l'apprentissage de GIMP
n'est pas facile), à un public qui ne connait pas GIMP et à des non professionnels de l'imagerie. Le
terme "gimpeur" est quelquefois utilisé pour désigner un membre de la communauté des utilisateurs
de GIMP. Si vous voulez en faire partie .......
Ce logiciel est reconnu comme un des plus puissants existants. On le donne couramment comme de
puissance équivalente aux logiciels payants les plus performants (et les plus chers) du marché.
Mais il est aussi reconnu comme délicat d'approche. GIMP possède une communauté de très
nombreux utilisateurs chevronnés (et passionnés). Il est possible, facilement, de demander de l'aide
sur Internet.
On trouvera souvent l'image de Wilber sur Internet. Wilber est la mascotte de GIMP. L'image est
déclinée en de nombreuses variantes, en voici une:
GIMP possède des commandes élaborées et en nombre. On ne vise pas à en faire le tour. Ce serait
faire un document énorme. On cherche surtout à donner d'abord quelques bases qui doivent être
assimilées assez vite, faute de quoi ceux qui veulent se mettre à GIMP trop rapidement peuvent
abandonner. Certains utilisateurs de Windows en particulier sont trop déroutés par l'originalité du
logiciel et finissent par se lasser. On va donc plus parler de GIMP que de photos. Ensuite, les bases
assimilées, on s'aventurera dans des aspects plus complexes de GIMP. On s'est basé sur une
implantation de GIMP sur Windows.
On utilisera beaucoup d'exemples et à travers chacun des exemples proposés on cherchera à faire
acquérir quelques notions sur GIMP. Le but n'est pas non plus de donner un catalogue des
meilleures méthodes pour réaliser telle tâche, mais de faire acquérir des notions essentielles.
L'auteur est un ancien enseignant d'informatique. Il a fait son apprentissage de GIMP à l'image de
ce document (avec des essais) et avec des lectures de documentations. On suppose que le lecteur
possède une connaissance minimum de logiciels informatiques et en particulier qu'il a déjà
manipulé un peu un logiciel simple de dessin à un niveau élémentaire. On ne va pas consacrer de
lignes à "Comment ouvrir un fichier" par exemple ou comment installer GIMP.
Dans une dernière partie on abordera la programmation de greffons avec GIMP et le langage Python
dont un des logo est:
07/04/16 13/314 Certains programmeurs pourraient être motivés par la connaissance des puissantes possibilités
offertes en GIMP: utilisation du langage Python , bibliothèques spécialisées (NumPy,...), GTK, ....
Cette partie sera plus destinée à une information sur les possibilités offertes qu'orientée vers un
apprentissage.
On va, à l'occasion de réalisations de certaines tâches graphiques, explorer les nouveaux outils
nécessaires de GIMP. Ce qui va conduire à une certaine dispersion sur la présentation des outils de
GIMP. La logique d'une progression depuis une initiation vers un approfondissement (avec une
lecture continue depuis le début vers la fin du document) implique qu'on ne peut pas traiter un sujet
en une seule fois. On est obligé de répartir les difficultés tout le long du document. On a essayé
quand même dans la mesure du possible de regrouper un peu par thèmes les notions abordées.
La documentation de GIMP est très lisible, complète et bien faite. On pourra s'y référer facilement
en cas de besoin. Ne pas hésiter à le faire et à prendre l'habitude de "revenir aux sources". Pour cela
aller à l'adresse: https://docs.gimp.org/fr/index.html. On y trouvera une très bonne documentation
vraiment .
On ne détaillera pas trop les options des outils car ces options sont extrêmement nombreuses et cela
conduirait à un nombre de lignes très grand. C'est un problème en début d'apprentissage car un
outil, suivant les options choisies, peut avoir des comportements variés et même très différents.
Particulièrement au début d'un apprentissage d'un logiciel tel que GIMP on ne peut pas demander à
un nouvel utilisateur de positionner les options ni même de donner des informations sur ces options
sous peine de le voir fuir devant tant de complexité. On est obligé de se fier aux positionnements
par défaut des options et ... espérer que ces valeurs par défaut ne changent pas trop avec les
versions.
Pour tirer profit des exemples, il est nécessaire d'avoir GIMP installé sur son ordinateur et de faire
les manipulations indiquées (éventuellement en utilisant ses propres images). On a utilisé la version
2.8 de GIMP sous Windows. Il existe des versions de GIMP portable très pratiques sur Windows.
Pour les trouver on peut rechercher sur Internet avec les mots clés GIMP et portable. On peut mettre
une version portable sur une clé USB sans installation ou dans un répertoire de disque dur sans
installation non plus. Donc là pas de problème d'installation! Il suffit de copier GIMP dans un
répertoire et de le lancer (même sur une clé USB). Il faut simplement faire attention à la version de
Windows à utiliser (32 bits ou 64 bits .....). On doit en trouver sur framakey et portableapps. Voici
une URL pour ceux qui ne veulent pas chercher:
http://www.aljacom.com/~gimp/portables.html
Quelquefois GIMP utilise des mots anglais (très rarement mais cela arrive dans la version
française). Pour ceux qui veulent mieux maitriser les termes anglais on peut trouver une belle table
de traduction
à:
https://openclassrooms.com/courses/apprenez-a-creer-avec-gimp-2-8/infos-et-ressources-utilespour-le-gimpeur
ou bien à (mais table plus générale et moins utilisable que la précédente):
https://www.info.ucl.ac.be/~pvr/lexicon.html
1) Création initiale d’un dessin
07/04/16 14/314On a pris comme méthode pédagogique de travailler souvent sur des images artificielles simples
que l’on crée. On maitrise alors bien les constituants des images. Il est aussi plus facile à un lecteur
de reproduire les manipulations indiquées.
a) Manipulations et recommandations préliminaires
Sur certaines versions récentes en versions portables de GIMP, il semble qu'un redimensionnement
de la fenêtre principale peut amener un arrêt du logiciel. Donc on conseille, si cela arrive, d'ouvrir
GIMP avec une fenêtre suffisamment grande ou en plein écran et de ne plus faire de
redimensionnement (mais on peut faire des déplacements et des réductions). Cela n'empêche pas de
travailler correctement.
Pour éviter de se retrouver avec des comportements inattendus du logiciel pour un néophyte (et
pour ce qu'on va faire) il faut bien vérifier que l’on travaille en mode dit RVB en début de travail.
RVB veut dire Rouge Vert Bleu. Pour cette vérification aller voir <Image> <Mode> et regarder si
on a bien la ligne RVB cochée (et sinon la cocher avec un clic sur cette ligne). Cette
recommandation est valable surtout si on "récupère" une image d’ailleurs (téléchargée par
exemple). Des images en mode dit indexé sont courantes car cela réduit la taille des fichiers, mais
elles vont nous compliquer la tâche. Il faut vérifier le mode si on travaille sur une image créée
par d'autres.
Attention aux clics au hasard: cela peut arriver que GIMP conserve d'une session à l'autre les
options choisies des outils de dessin. Si on clique "au hasard pour essayer", des options qui seront
perçues comme bizarres vont être sélectionnées et éventuellement conservées pour les sessions
suivantes: GIMP est à classer dans les logiciels pour pros. D'où des comportements inattendus du
logiciel. Avec le menu <Edition> <Préférences> <Options des outils> on peut enregistrer les
options ou les restaurer à des valeurs par défaut avec <Restaurer les options des outils aux valeurs
par défaut>. Pour un débutant, il est conseillé en début de travail de remettre les options à ces
valeurs par défaut. Cela demande peu de temps et permet de travailler sur un logiciel normalisé plus
propice à un apprentissage.
Comme on l'a déjà dit, GIMP n'est pas facile à utiliser mais il est très puissant. Il présente les
avantages d'avoir une communauté de fidèles assez importante, très coopérative et une
documentation officielle bien faite. Les discussions sur les forums, les articles, les documents et
videos sont foisons sur le Net. C'est une des vedettes du Net.
Une erreur pour un débutant serait de considérer GIMP comme seulement un logiciel de traitement
d'une image en entrée. L'idée étant de fournir à GIMP une image (par exemple une .jpg), puis de
traiter cette image par des procédés plus ou moins compliqués (luminosité, netteté, contraste ....).
GIMP peut faire beaucoup plus que cela, il peut composer une image à partir d'éléments graphiques
rangés dans ce que l'on nomme des calques. On va donc très vite parler de calques car c'est une
notion très importante et incontournable.
On va commence non pas par partir d'une image existante mais par en créer une. On va essayer,
dans un premier temps de ne dessiner que 2 traits avec un pinceau.
b) Quelques fenêtres importantes de l'interface du logiciel
07/04/16 15/314On lance GIMP2, on voit alors trois grandes fenêtres (en principe):
une fenêtre "Boite à outil", une fenêtre "Editeur d’image GIMP", une fenêtre "Calques", pas
nécessairement dans la présentation ci-après (faite dans un but de compacité).
La fenêtre "Editeur d'image GIMP" est celle où on peut dessiner et où les photos apparaissent. On
l'appellera zone centrale (dite aussi fenêtre d'image).
Les fenêtres "Boite à outils" ou "Calques" peuvent se présenter différemment (voir les paragraphes
ci-après).
Si la fenêtre "Calques" n’apparait pas, on peut cliquer: <Fenêtres> <Fenêtres ancrables>
<Calques>. Si cette fenêtre existe déjà elle se contentera de signaler sa présence par un
clignotement bref. Cette technique est valable pour faire apparaître beaucoup de fenêtres: on passe
par <Fenêtres> <Fenêtres ancrables>.
Pour se simplifier la vie: mode fenêtre unique
Un clic pour cocher <Fenêtres> <Mode fenêtre unique> fera apparaître plusieurs petites fenêtres
suivant une présentation où les petites fenêtres d'outils et de calques ont une place simple sur les
cotés, l'image apparaissant en zone centrale. Eventuellement (ce n'est vraiment pas ni obligatoire ni
nécessaire) choisir les petites fenêtres que l'on veut garder, fermer les autres, ajuster les tailles de
fenêtres que l'on veut, et on aura une présentation assez agréable. La présentation sera conservée
d'une session à l'autre. Voici à quoi devrait ressembler l'écran:
07/04/16 16/314Si on n'a pas choisi "Fenêtre unique"
ou s'il n'y a pas de fenêtre "Boite à outil"
Si on n'a pas choisi "Fenêtre unique" la présentation est un peu différente. On a trois fenêtres
indépendantes qui sont constituées par:
 la fenêtre "Boite à outils"
 la zone centrale de dessin (fenêtre "Editeur d'image GIMP" ou "[Sans titre .... GIMP]) où
apparaissent les photos et les dessins
 la fenêtre "Calques"
Si la fenêtre "Boite à outil" n’apparait pas, on peut cliquer: <Fenêtres> <Nouvelle boite à
outils>. Puis on peut ajuster la taille de cette fenêtre à son gout. Si en dessous de cette fenêtre
on ne voit pas les options de l'outil on peut cliquer <Fenêtres> <Fenêtres ancrables>
<Options de l'outil>. On voit apparaître une fenêtre "Options des outils". Une fois cette
fenêtre d'options créée on peut la faire glisser où l'on veut. Mais le plus pratique est de rendre
la fenêtre d'options solidaire de la fenêtre "Boite à outil". Pour cela la faire glisser en laissant
cliqué MAIS sur la deuxième ligne <Options des outils> en dessous du bandeau de fenêtre
contenant aussi "Options des outils".
07/04/16 17/314On aura compris qu'il vaut mieux prendre "Fenêtre unique".
Autres conseils
Pour les impatients qui ont déjà commencé à cliquer dans la zone centrale: si des dessins sont
apparus, pour tout effacer faire <Sélection> <Tout> puis appuyer sur la touche de suppression du
clavier SUPPR.
En appuyant sur la touche TAB on peut faire apparaître ou disparaître les deux fenêtres " Boite
à outil " et " Calques" à la fois (mais attention à l'appui involontaire sur la touche TAB!). Ceci
permet de travailler sur un dessin en plein écran. Pour volontairement faire apparaître ou disparaître
une fenêtre particulière pensez au menu <Fenêtres> <Fenêtres ancrables>.
Attention aussi au clic malencontreux sur <Fenêtres> <Masquer les groupes de fenêtres>!
Les fenêtres "Boite à outil", " Calques" , ... disparaissent , un nouveau clic sur <Masquer les
groupes de fenêtres> les fera réapparaitre.
On peut être étonné par cette entrée en matière. GIMP se distingue par une ergonomie originale.
Souvent les débutants sont déroutés par les réactions atypiques de ce logiciel. Manipuler les fenêtres
n'est pas très difficile et permet déjà de se familiariser avec le logiciel.
Un des problèmes étant aussi que d'une session à l'autre quelques options peuvent être conservées.
Le débutant qui a appuyé au hasard sur des icônes au cours d'une première session peut se retrouver
à la réouverture du logiciel avec des options qu'il ne maitrise pas. Il vaut mieux ne pas appuyer au
hasard avec ce genre de logiciel!
c) Notion de calque
La notion de calque est fondamentale. On peut assimiler un calque à une feuille (de papier ou de
transparent) sur laquelle on peut dessiner. En GIMP on peut disposer de plusieurs calques et donc
avoir un dessin réparti sur plusieurs feuilles. A la différence d'une feuille de papier ordinaire, un
calque peut disposer d'une certaine transparence.
Prenons un exemple (voir les figures ci-après) on peut avoir un premier calque avec un petit dessin
(n°1, un rond rouge) réalisé à gauche du calque, la partie droite de ce calque étant transparente. On
peut aussi avoir un deuxième calque avec un autre petit dessin (n°2, une étoile rouge) réalisé à
droite du calque et une partie gauche de ce calque transparent. La composition des deux calques (on
verra comment) donne alors un dessin complet composé des deux petits dessins.
On peut voir l'ensemble du dessin complet comme composé à partir d'une pile de calques (analogue
à une pile de feuilles de papier). Avec la différence que des parties de feuilles de papier peuvent
être transparentes et qu'on peut voir, à travers les parties transparentes, les feuilles situées en
dessous dans la pile.
07/04/16 18/314La plupart du temps un dernier calque se situe tout à fait en bas de pile de calques. Il est créé
automatiquement lors de la création d'un fichier d'image GIMP.
Dans notre exemple nous avons donc finalement trois calques: le calque tout en haut de pile de
calques avec le rond rouge et une partie transparente (calque près de l"observateur"). Un deuxième
calque en milieu de pile de calques avec l'étoile rouge et une autre partie transparente.
Un dernier calque tout en bas de la pile de calques de nom "Arrière-plan". Ce calque nommé par
défaut "Arrière-plan", est souvent blanc et on peut aussi dessiner dessus. Ce calque participe
éventuellement au fond de l'image finale. Le résultat final vu par l'observateur (c'est à dire nous
utilisateur ou nous programmeur ....) est le suivant:
Dans notre exemple, le calque "Arrière-plan" ne joue aucun rôle graphique dans ce qu'on voit (on
aurait pu le supprimer).
On aurait pu permuter la position des premier et second calques: en faisant remonter le deuxième
calque vers le sommet de la pile des calques et descendre le premier calque. On aurait eu le même
résultat (parce qu'on a disposé adéquatement les parties transparentes et non transparentes, mais ce
n'est pas habituellement le cas). C'est possible en GIMP de déplacer les calques dans la pile des
calques: on peut les faire monter ou descendre dans la pile.
Si on se contente d'ouvrir GIMP et de créer une image vierge (par exemple par <Fichier> <Nouvelle
image> <Valider> on dispose automatiquement du calque "Arrière-plan" et c'est le seul calque. On
peut de suite alors dessiner sur ce calque (pour les impatients qui veulent expérimenter tout de
suite). Mais attention, avant de dessiner, faire <Sélection> <Tout> (voir plus bas pour une
explication).
Les notions de calques et de sélections sont fondamentales en GIMP et on va de suite les utiliser
dans des manipulations. La notion de calque est assez facile à comprendre, mais les manipulations
sur les calques et les sélections ne sont pas faciles. La compréhension n'est pas difficile mais les
manipulations conduisent très facilement à des erreurs. La combinaison de touches pour le retour
arrière (avec CTRL+Z) est alors très utile (ou bien faire <Edition> <Annuler>). On entend par
07/04/16 19/314retour arrière l'annulation de la dernière manipulation (ou des dernières manipulations en répétant
<Annuler> ).
d) Introduction aux sélections
La notion de sélection est encore une notion fondamentale incontournable. D'une manière simplifiée
(et incomplète on le verra) une sélection est une délimitation d'une portion d'un calque. Il y a en
GIMP énormément d'outils de sélection.
Après avoir fait une délimitation, on choisit en général un outil que l'on applique à la sélection.
Parmi les outils de sélection les trois plus simples sont:
 l'outil de sélection rectangulaire, avec l'icône suivante:
Pour le mettre en oeuvre, dans la boite à outil <Outil de sélection rectangulaire>
On va le faire tout de suite de manière plus détaillée dans le paragraphe suivant de création
d'un dessin.
Cet outil permet de créer une délimitation rectangulaire d'une zone.
 l'outil de sélection elliptique, d'icône:
Pour le mettre en oeuvre, dans la boite à outil <Outil de sélection elliptique>
Cet outil permet de créer une délimitation elliptique d'une zone.
 l'outil de sélection à main levée, d'icône:
Pour le mettre en oeuvre, dans la boite à outil <Outil de sélection à main levée>
Cet outil permet de créer une délimitation quelconque d'une zone.
ZoneZone Zone
Ensuite, la sélection effectuée, on peut faire des opérations sur la zone délimitée comme des
remplissages divers, des tracés au pinceau, gommer ... etc.
e) Disposition générale et fenêtres ancrables
On a déjà évoqué les fenêtres ancrables. On est bien obligé car on a, tout se suite sous les yeux,
l'interface utilisateur.
On a vu qu'il y avait deux modes possibles de travail: avec ou sans fenêtre unique.
Sans le mode fenêtre unique on dispose de trois grandes fenêtres de base:
 Une fenêtre en général à gauche avec la boite à outil et ses options
 Une fenêtre en général au centre qui est la zone des dessins et des photos.
 Une grande fenêtre en général à droite qui est une fenêtre regroupant les fenêtres ancrables
sélectionnées.
Ces trois grandes fenêtres sont indépendantes pour leur positionnement, leur taille.... Cela a été un
grand sujet de reproches, de la part de certains, dans le passé. Les utilisateurs venant de Windows en
07/04/16 20/314particulier ne voyaient pas l'intérêt de cette disposition qui leur semblait compliquer les choses et
qui n'avait pas d'intérêt particulier à leurs yeux.
L'équipe de GIMP a accédé à leur demande et a créé le mode fenêtre unique.
Et donc dans ce mode fenêtre unique on dispose ..... des mêmes fenêtres mais qui sont sagement
alignées cote à cote de la gauche vers la droite.
Pour voir la différence on peut cliquer <Fenêtres> <Mode fenêtre unique> et on basculera ainsi d'un
mode à l'autre. Cela ne présente aucun danger. On choisira le mode qui convient le mieux. On
conseille quand même pour des débutants le mode fenêtre unique.
On a vaguement parlé de fenêtres ancrables. L'utilité de certaines fenêtres apparaîtra au fur et à
mesure des besoins. On peut donner quelques généralités. On peut afficher la liste des fenêtres
ancrables avec <Fenêtres> <Fenêtres ancrables>. On trouvera dans cette liste verticale les fenêtres:
"Calques", "Chemins", Histogramme", "Historique d'annulation" ...etc. Il y en a beaucoup (une
vingtaine). Le fait de cliquer sur une fenêtre ancrable dans cette liste la place dans l'ensemble des
fenêtres ancrables utilisables. Cet ensemble est représenté par une suite horizontale d'onglets. On
peut voir dans le dessin ci-dessous un ensemble avec quatre fenêtres ancrables utilisables qui sont
"Calques", Chemins", "Histogramme", et "Historique d'annulation". Une seule fenêtre, à la fois,
peut être développée pour utilisation. La fenêtre développée ici est "Calques".
Les trois fenêtres ancrables (on parlera aussi d'onglets) les plus importantes sont:
"Calques", "Chemins" et "Histogramme". On les voit sur l'illustration qui suit:
La fenêtre développée (c'est à dire sélectionnée pour affichage) est "Calques". Quand un onglet est
sélectionné, en dessous apparaissent des informations le concernant. Ici est affichée la liste des
07/04/16 21/314calques créés. Il y a trois calques:
"Arrière-plan" (celui le plus bas dans la pile des calques), "C1" et "C2" ("C2" est le plus haut dans
la pile).
Les autres onglets sont "Chemins", "Histogramme" et "Historique d'annulation".
Lorsqu'on désire supprimer un onglet (quand il y en a trop ils sont gênants) appuyer sur le petit
triangle en haut à droite. On voit apparaître alors un sous menu dans lequel on trouve <Fermer
l'onglet> qui permet d'enlever l'onglet.
f) Création de premiers dessins
On va commencer par travailler sur de petits segments de droite. Difficile de faire plus simple
comme tâche graphique. Mais on cherchera à faire une description des outils de GIMP sans éviter
les difficultés quand on sait que les notions abordées sont importantes pour quelqu'un qui veut
obtenir un certain niveau en GIMP. En particulier on ne peut pas faire d'impasse sur les calques, les
sélections et les chemins. Ce sont des notions d'un emploi difficile mais puissantes et
indispensables.
Pour créer un dessin, à partir de rien, faire: <Fichier> <Nouvelle image> <Valider>. La taille de
l'image nous importe peu (une 640x400 va très bien).
La fenêtre " Editeur d’image GIMP" se transforme alors en fenêtre " Sans titre - ....... - GIMP ".
Dans la fenêtre "Calques " on a alors un calque nommé "Arrière-plan' créé automatiquement à la
création de l’image: on remarque une ligne:
o_e_i_l Arrière-plan.
On notera o_e_i_l le petit dessin d'un oeil visible à gauche de l'intitulé du calque
"Arrièreplan".
A chaque fois que l'on travaillera avec des calques il est, jusqu'à ce qu'on ait exploré plus en détail
cette notion, prudent de vérifier que le mode du calque est "Normal". On peut le voir sur la figure
ci-après. En principe on n'a pas à y toucher. Les calques sont créés en mode normal. Le nom
07/04/16 22/314"Arrière-plan " est donné par défaut pour le premier calque, on n'a pas à le faire.
Outil de sélection Mode normal Nom du calque
rectangulaire
Oeil
Le dessin o_e_i_l indique que ce calque (de nom " Arrière-plan ") est visible et c’est la zone de
dessin visible dans la fenêtre " Sans titre - ....... - GIMP " qui visualise ce calque (qui est le seul
pour l'instant).
La fenêtre "Boite à outils" contient un ensemble d'icônes qui sont des boutons raccourcis graphiques
de certaines commandes que l'on peut trouver quelquefois autrement en utilisant les menus et
sousmenus de la fenêtre principale (fenêtre centrale) "Sans titre - ...... GIMP". Sur notre figure, on a mis
en évidence l'outil de sélection rectangulaire. La boite à outil est le plus souvent à gauche de l'écran.
Etape 1: mettre en place une sélection
Notre but est simple. On ne veut que dessiner un segment de droite. C'est tout ce qu'on veut faire.
Pour dessiner dans le seul calque disponible pour l’instant (donc celui de nom " arrière-plan ")
choisir dans la fenêtre " Boite à outil " le rectangle de sélection rectangulaire. Placer une sélection
rectangulaire sur la zone de dessin. La méthode est classique: se positionner, cliquer, laisser appuyé
et déplacer le pointeur de souris et enfin relâcher. On obtient à l'écran le dessin d'un rectangle, dit
de sélection, encadré par des pointillés.
Puis faire déplacer le pointeur de souris sur toute la zone de dessin (avec le bouton gauche de souris
relâché, car notre sélection est déjà faite) pour examiner ce qui se passe.
On remarque que ce pointeur, dans la zone de dessin mais en dehors de la zone sélectionnée, est
représenté par une icône " sélection rectangulaire " (c'est à dire une petite cible simple):
07/04/16 23/314Ce pointeur est représenté par une icône "déplacement " (c'est à dire 4 flèches épaisses en croix)
dans la zone sélectionnée:

Si on clique à nouveau, dans la zone sélectionnée, et en "glissant' (en laissant le bouton gauche de la
souris appuyé) on s'aperçoit qu'on peut déplacer la sélection quand le pointeur est une icône de
déplacement (ce qui est logique!).
Etape 2: choisir dans les brosses
Cliquer sur l’outil <pinceau > de la boite à outils. Pour trouver cet outil son icône représente .... un
pinceau: . Pour le trouver on peut aussi déplacer le pointeur de souris dans la boite à
outils et examiner les bulles d'aide qui apparaissent lors des survols.
On peut vérifier aussi dans la fenêtre "Options des outils" quelle brosse est sélectionnée. Cette
fenêtre est placée souvent à gauche aussi:
07/04/16 24/314L'outil pinceau se servira de la brosse sélectionnée pour dessiner. Il y a dans GIMP énormément de
brosses différentes et on trouve sur Internet des centaines de brosses supplémentaires à télécharger
et à inclure dans le logiciel. Il est aussi très facile de créer ses propres brosses.
On dit souvent qu'il y a deux types de brosses particulièrement importants: les brosses dures et les
brosses douces. Cette distinction n'est pas aussi nette que cela car les brosses peuvent être
qualifiées par le créateur, éventuellement, avec un indice de dureté (dureté = hardness en anglais).
On voit sur l'image qui suit les différences de tracé avec des brosses rondes. On a enchaîné
plusieurs tracés (de gauche à droite) le premier avec une brosse douce à gauche (dureté 25) puis
dans la continuité du premier avec des brosses de plus en plus dures (la dernière à droite de dureté
100) mais de même taille spécifiée. Pour le tracé de gauche, le trait est plus flou et enveloppé sur
les bords d'une zone encore plus floue. La brosse dure donne un tracé net aux contours bien
marqués. On trouvera le choix de la brosse dans l'onglet "Pinceau" à «Brosse». Pour commencer
c'est mieux de prendre une brosse dure. On pourra régler aussi la taille de la brosse avec «Taille»
dans cet onglet d'options des outils. Voici l'aperçu des quatre brosses de dureté variant de 25 à 100:
La notion de brosse ne sert pas uniquement pour le pinceau. Beaucoup d'outils utilisent des brosses.
Une brosse douce donnera un fonctionnement souple à l'outil qui l'utilise. Une brosse dure donnera
un fonctionnement plus brutal.
07/04/16 25/314Etape 3: tracer avec le pinceau
Revenons à notre pinceau. En plaçant le pointeur de souris, dans la zone de dessin, on remarque
qu'il a changé et qu'il est représenté par une icône " pinceau ". Pour commencer à dessiner, partir de
l’extérieur du rectangle et tracer une ligne qui passe dans le rectangle et qui en sort. On s’aperçoit
que le tracé n’est effectif que dans la zone sélectionnée. On obtient par exemple ceci:
Le tracé, qui ne se fait que dans la sélection, peut être gênant pour des débutants. Une solution
simple pour l'éviter est, avec la sélection rectangulaire, de sélectionner toute la zone de dessin
(ou bien faire <Sélection > <tout>). On peut alors dessiner partout. Mais ce n'est vraiment utile
qu'à un stade de débutant. Ce n'est pas à faire normalement. Le pendant pour enlever toute
sélection est <Sélection> <Aucune>.
Pour choisir l'outil pinceau on a utilisé le bouton <Pinceau> de la boite à outils. Alternativement (à
la place de ce bouton) on aurait pu utiliser les menus de la fenêtre principale "Sans titre ....... GIMP"
avec <Outils> <Outils de peinture> <Pinceau>.
g) Quelques options de base de dessin
On peut modifier des couleurs de base.
Les deux couleurs les plus importantes sont:
 La couleur de tracé (nommée "foregroundcolor" en anglais) ou dite de premier-plan en
français. C'est celle utilisée par le pinceau.
 La couleur de fond d'image (nommée "background color" en anglais) ou dite d'arrière-plan
en français.
Pensez à vérifier que la couleur du pinceau est bien différente de la couleur de fond (le noir est
le plus simple pour nous): peindre noir sur noir ou blanc sur blanc ne donnera pas grand chose. C'est
une situation qui arrive même avec de l'expérience!
La fenêtre des options de l'outil pinceau est donnée ci-dessous. On voit que l'on peut régler
beaucoup de choses dont l'épaisseur du trait de tracé, le type de brosse et la couleur de premier plan
(qui est la couleur de tracé) juste au dessus de l'onglet "Options des outils Pinceau" où on trouve les
deux rectangles noir et blanc emboités. Pour modifier la couleur de tracé il suffit de cliquer sur le
07/04/16 26/314petit rectangle (ici noir) de premier plan.
On voit alors apparaitre une seconde fenêtre "Modification de la couleur de premier plan". Il suffit
alors de cliquer sur une couleur prédéfinie et d'appuyer sur <Valider>.
Agir de même pour la couleur d'arrière-plan.
Si on veut prendre une couleur différente de celles prédéfinies, voici quelques indications:
 R est le champ Rouge, G (ou V) est le champ Vert, et B est le champ Bleu.
 Pour avoir une couleur à dominante rouge par exemple, mettre 255 dans le champ R et 0
dans les champs G et B. Puis jouer sur le paramètre S pour ajuster la clarté. De même pour
une dominante verte (champ G à 255) ou bleue (champ B à 255). Examiner si le champ
"Actuelle" change sinon, s'il ne change pas, appuyer sur la touche ENTREE.
 Pour revenir à du noir: R=G=B=0 (c'est à dire aucune luminosité) puis appuyer sur la touche
ENTREE.
 Pour avoir du blanc: R=G=B=255 (255 est la luminosité maximale) puis appuyer sur la
touche ENTREE. Le blanc est caractérisé par le maximum de luminosité pour les 3
composantes de base R,G et B.
 Pour avoir du gris plus ou moins foncé: R=G=B=0 puis jouer sur le paramètre V. Finir par
ENTREE. Pour du gris les trois composantes de couleur sont égales (on le verra plus en
détail plus tard). On doit avoir R=G=V. Pour du gris foncé on a R=G=B= une valeur faible
proche de 0. Pour du gris clair on a R=G=B= une valeur proche de 255.
 Il faut terminer le choix de couleur par <Valider>.
Couleur d'arrière
plan blanche
Couleur de premier
plan noire
Pour le noir tout est
éteint (valeurs deCouleursCouleur de premierLLaarrggeeuur r dduu ttraraiitt Type de brosse couleur nulles)prédéfiniesplan noire
Il est possible de tracer en ligne droite. Pour s'entrainer faire <Sélection> <Tout> sinon on sera gêné
par des problèmes de sélection (ne jamais oublier qu'un tracé se fait dans une sélection) car on va
sans doute faire de nombreux essais. Puis sélectionner l'outil pinceau. Commencer par placer un
07/04/16 27/314point de début de segment avec le pinceau (clic bouton gauche). Ne pas bouger la souris et appuyer
sur la touche SHIFT (et la laisser enfoncée pour la suite). Puis faire un déplacement jusqu'à
l'emplacement de fin de segment puis faire un clic bouton gauche. On peut alors relâcher la touche
SHIFT. On obtiendra un segment de droite On peut enchainer cette opération pour faire facilement
des "ZigZags".
Pour effacer toute la zone de dessin appuyer sur la touche SUPPR.
h) Quelques mots sur le déplacement d'une zone de dessin
Le déplacement d'une zone de dessin n'est pas trop difficile ..... pour ceux qui savent faire, on le
verra un peu plus loin. Malgré tout des utilisateurs venant d'autres horizons peuvent être déroutés
lors d'essais. Pour l'instant rapidement, car on va le voir plus en détail, on peut utiliser les classiques
CTRL+C, CTRL+V et CTRL+X. Il faut d'abord faire une sélection d'origine, Puis faire une
opération CTRL+C ou CTRL+X. Il faut ensuite faire une sélection de destination (de taille
quelconque ça n'a pas d'importance) et terminer par un CTRL+V suivi d'un clic en dehors de la
zone (indispensable). Tout ceci pour les impatients!
Exercice: reproduire à l'identique les dessins suivants ...... On plaisante! On veut dire essayer
librement les sélections, les couleurs, les tracés, les brosses, ........ La notion de sélection est
fondamentale. Autant commencer à s'exercer à un moment où on peut faire ce qu'on veut sans
aucune contrainte de réalisation.
Remarque: On suppose que les lecteurs ont une connaissance minimale de logiciels informatiques.
On n'a pas insisté sur le lancement et l'arrêt du logiciel. Pour les grands débutants, on précise que
pour quitter GIMP faire <Fichier> <Quitter>. Une fenêtre d'en tète "Quitter GIMP " s'ouvrira avec
un choix "Abandonner les modifications" que l'on choisira bien sur au début.
i) Scanner et copie d'écran
Enfin notons deux sortes de façon de faire un dessin rapidement:
• GIMP possède une commande pour acquérir une image via un scanner. Pour cela
faire<Fichier> <Créer> <Scanner/Appareil photo> puis dans une liste déroulante il faut
choisir le scanner à utiliser s'il y en a plusieurs dans l'installation ...etc. La mise en oeuvre
est très simple.
C'est une possibilité intéressante car est sous GIMP donc on peut appliquer de suite toute la
puissance de GIMP à la photo prise: redimensionnement, rotation, améliorations .... avant de
l'archiver.
07/04/16 28/314• Dans le même ordre d'idée GIMP possède une commande pour faire une copie de fenêtres.
Pour cela faire <Fichier> <Créer> <Capture d'écran>... Il y a possibilité de retardement de
la capture d'écran. Mais malheureusement la commande ne permet pas, même avec le retard,
de prendre la copie d'un sous-menu qu'on vient de faire apparaître par un clic sur un élément
de menu. On a les mêmes avantages que précédemment. Exemple d'application toute bête:
on veut écrire un document technique sur GIMP et on a besoin pour cela d'images des icônes
de la boite à outil par exemple. On peut faire une copie d'écran de l'écran de GIMP puis
agrandir/rogner/traiter ..etc sur l'icône qui nous intéresse. Cette technique, toute simple, est
applicable bien sur à n'importe quel logiciel.
07/04/16 29/314DETOURAGE
11) Outils de détourage
. On entend par détourage la délimitation précise d'une zone souvent complexe, qui nous intéresse
particulièrement, afin de la traiter (très souvent pour la copier ailleurs). En anglais on trouve pour
cela souvent les termes "Cutting out". L’outil se doit d’être testé sur une image naturelle. On a pris
celle d’un petit singe (voir les copies d'écran ci-dessous). Evidemment ce n’est pas le cas le plus
simple à cause des poils qui sont délicats à traiter sur le pourtour!
11.1) Outil d’extraction de premier plan
a) Manipulation de base
Cet outil est complexe et très pratique pour effectuer un détourage rapide pour un non professionnel
qui se contente d’un bon résultat sans chercher l’excellence. On ne cherchera pas à obtenir un
résultat parfait mais rapide. L'icône se présente comme:
On peut accéder aussi par <Outils> <Outils de sélection> <Extraction de premier plan>.
Les étapes à suivre sont les suivantes:
Etape 1) On choisit l’outil d’extraction du premier plan. Le pointeur de souris se change en lasso.
Puis on trace le contour grossier du singe (on entoure donc le singe). Sur notre figure le contour
n’est pas fini mais normalement il faut obligatoirement le fermer ce qui quelquefois demande du
doigté (en plus à la rédaction la capture d’écran n’est pas facile et on a travaillé sur plusieurs essais
ce qui explique les différences dans les sélections et les images). Quand on revient au point de
départ du tracé du contour (GIMP le signale) et qu’on relâche le bouton de la souris, le fond de la
figure change de couleur (ici devient bleu). Le pointeur de la souris se change en pinceau.
Etape 2) Avec le pinceau tracer un trait à l’intérieur de la zone à extraire, donc sur le singe (à
l’intérieur du singe). Quand on relâche le bouton de la souris, on obtient une délimitation du singe
assez bonne sur fond bleu. Mais il y a des zones sur le singe qui ne font pas partie de la sélection.
On peut faire mieux.
Refaisons un deuxième essai, mais pour éviter beaucoup d’imperfections on recommence le travail
depuis le début mais à l’étape 2 on essaie de peindre au maximum le singe en noir. Cela évitera
beaucoup de travail pour la suite et éliminera beaucoup de mauvaises zones.
Etape 3) Appuyer sur la touche Entrée (indispensable!) et on obtient la
sélection calculée par l’algorithme. On remarque encore quelques petits défauts mineurs. On verra
plus loin comment en éliminer certains.
Etape 4) Faire <Copier> puis <Coller comme nouvelle image> puis sauvegarder l’image avec un
07/04/16 77/314format qui supporte la transparence (par exemple png ou gif conviennent mais pas le jpg qui ne
supporte pas la transparence). On peut voir ci-dessous à la fin les copies d’écran des différentes
étapes.
Si l’on examine le résultat avec un fort agrandissement, on s’apercevra que bien sur les poils du
pourtour sont quasiment impossibles à traiter.
Indication: souvent en cas de problème, la touche ECHAP et <Edition> <Annuler ....> sont nos
amis.
Copies d’écran du détourage avec l'outil d’extraction de premier plan
Contour grossier au lasso Fin d'étape 1 Tracer 1 trait à l'intérieur
Il vaut mieux remplir Fin d'étape 2 Etape 3
07/04/16 78/314b) Améliorations pour l’outil d’extraction de premier plan
Il est très intéressant d’examiner les options de l’outil d’extraction. On peut voir en particulier qu’il
est possible de changer des sensibilités aux couleurs. Attention ces sensibilités sont très délicates à
régler, le plus simple est de ne pas y toucher dans un premier temps.
On va voir sur un exemple artificiel des problèmes courants qui peuvent surgir et comment les
régler. On travaillera sur l’image qui suit:
On n’a que des niveaux de gris. On désire isoler le grand rectangle avec ses 3 petites ellipses à
l’intérieur. On choisit l’outil d’extraction de premier plan et on trace le contour suivant (même
remarque que plus haut):
Puis on lance la procédure décrite plus haut et on arrive à la sélection suivante (on peut obtenir
d’autres résultats suivant les contours et/ou le tracé du pinceau à l’intérieur) après avoir appuyé sur
la touche Entrée:
On a affaire à 2 types de problèmes:
L’ellipse hachurée du milieu n’est pas sélectionnée (avec nos excuses, car on l'a dessinée par erreur
en blanc). Il faut ajouter cette zone à la sélection.
Un bout de l’ellipse du haut à gauche est visible. Il faut enlever cette zone à la sélection.
Remarque: en fait on a eu beaucoup de mal à obtenir un aussi mauvais résultat qui nous arrangeait
beaucoup pour notre rédaction. L'algorithme marchait trop bien!
07/04/16 79/314C'est là où on apprécie l'éditeur de sélection qui montre clairement en noir et blanc les zones
sélectionnées ou pas (voir figure suivante):
c) Procédures pour ajouter/retrancher des pixels
Le masque rapide est le mécanisme utilisé très souvent avec l'outil d'extraction du premier plan,
pour les retouches à apporter à la sélection automatique réalisée. On clique pour activer le masque
rapide. L’icône se trouve en bas à gauche dans la zone de dessin.
Icône de masque rapide
L’image devient rouge. En fait il est possible de choisir d'autres couleurs (si le rouge n'est pas
adéquat, voir NB ci-dessous). Dans un premier temps ne pas changer la couleur pour ne pas se
mélanger ..... les pinceaux!
Les règles de peinture (pour ajouter ou enlever des zones à la sélection) sont les suivantes:
 On doit peindre une zone avec la couleur blanche pour l'ajouter à la sélection. Par exemple
on peut avoir pour les couleurs d'avant et d'arrière plan:
07/04/16 80/314Pour permuter les couleurs d'avant-plan (noire initialement) et d'arrière-plan (blanche
initialement) cliquer sur la double flèche en haut à droite des deux rectangles noir et blanc.
 On doit peindre une zone avec la couleur noire pour l'enlever de la sélection. Par exemple on
peut avoir pour les couleurs d'avant et d'arrière plan:
Donc il faut d'abord sélectionner l'outil pinceau et prendre une brosse dure. Une brosse dure est plus
facile à manipuler dans un premier temps. Ajuster aussi la taille du pinceau: une brosse
suffisamment grande est pratique dans beaucoup de cas. Puis, sur l’image rouge on peint avec un
pinceau blanc l’ellipse du bas au centre. C’est assez facile.
Sur l’image rouge on peint avec un pinceau noir le morceau d’ellipse du haut à gauche. C’est plus
délicat. Il faut zoomer et prendre un pinceau fin.
Problème: la visualisation avec le masque rapide n'est pas très bonne. Il faut faire des va et vient:
examiner les modifications à faire sans le masque rapide. Puis activer le masque rapide, faire les
modifications prévues. Enlever le masque rapide, examiner les modifications ...etc.
Pour terminer la correction on désactive le masque rapide, puis appui éventuel sur la touche
ENTREE. Enfin une action de copier suivie d’une action de coller ...etc. On arrive au résultat
suivant:
Evidemment la justification se trouve dans le mécanisme des masques de GIMP (que nous ne
verrons pas tout de suite)
NB: Pour le masque rapide on peut changer de couleur. Le problème est que la qualité de
visualisation avec le masque rapide n'est souvent pas très bonne et ce n'est pas facile de trouver une
bonne couleur. Pour ce changement de couleur, le masque rapide étant non activé, faire un clic droit
sur l'icône de masque rapide et choisir <Configurer la couleur et l'opacité>.Pour changer la couleur
on arrive sur une fenêtre de modification de couleur. Sur la figure on a indiqué les modifications
pour avoir une couleur vert claire: faire R=B=0, G=255, ajuster S pour avoir la luminosité voulue.
On avait vu la procédure dans un paragraphe précédent.
07/04/16 81/314d) Masque rapide sans sélection préalable
Le mécanisme de masque rapide ne sera vraiment traité que quand on parlera de canaux de
sélections. En attendant on va montrer qu'il est possible d'utiliser un masque rapide sans sélection
préalable. Puisque peindre en blanc ajoute des pixels à une sélection existante on va partir d'une
sélection vide et "peindre" une sélection (c'est à dire finalement créer une sélection) avec un
pinceau. On part d'une image blanche (ou d'une autre couleur peu importe), on visualise l'éditeur de
sélection et donc on part de la situation suivante:
Puis on active le masque rapide (clic en bas à gauche de la zone centrale). La zone centrale change
de couleur, devient rouge. On sélectionne une couleur de premier plan blanche (là le blanc est
obligatoire). On peint une espèce d'étoile blanche dans l'image rouge (on a choisi ce dessin comme
exemple mais on peut prendre n'importe quoi bien sûr). L'affichage de l'éditeur de sélection ne
07/04/16 82/314change pas. On désactive le masque rapide (clic en bas à gauche de la zone centrale). On voit alors
la sélection en étoile apparaître dans la zone centrale et son pendant en blanc dans l'éditeur. Le fait
de désactiver le masque rapide a rendu "opérationnelle" la sélection effectuée au pinceau.
Exercice: Même procédure que précédemment (avec un départ avec une sélection vide) mais cette
fois ci partir d'une sélection non vide et rajouter des zones à la sélection (étendre la sélection de
départ) comme précédemment avec un pinceau blanc.
Exercice: On peut s'amuser à faire la copie de la deuxième tête sur la première (de l'exercice sur la
sélection contigüe avec deux personnes) en utilisant pour la sélection de la deuxième tête l'outil
d'extraction de premier plan. Le résultat sera analogue à celui obtenu précédemment mais
l'utilisation de l'outil d'extraction de premier plan ne se justifie pas pour une tâche aussi simple.
L'intérêt n'est que de faire un exercice.
Exercice: A partir d'un singe, placer trois singes sur la barrière. Il nous faut pour cela détourer le
singe puis copier deux fois la zone détourée en plaçant les deux copies à coté de l'image du singe.
On donne une solution:
On rappelle la procédure de détourage: utiliser <Outil d'extraction du premier-plan>.
Entourer grossièrement le singe en laissant le bouton de souris enfoncé. Peindre grossièrement
(mais de manière assez complète quand même) l'intérieur du singe en laissant le bouton de souris
enfoncé. Le mieux serait auparavant de choisir pour le pinceau une brosse assez grande. Pour
cela, dans "Options des outils extraction de premier plan", déplacer le curseur de «Petite brosse
grande brosse».
Relâcher le bouton de souris et attendre le calcul de l'extraction de premier plan.
Appuyer sur la touche ENTREE.
Eventuellement peaufiner la sélection: choisir <Outil de sélection elliptique>. En laissant la touche
SHIFT enfoncée, délimiter une zone à rajouter à la sélection trouvée par l'extraction de premier plan
(c'est à dire faire une union de sélection). Cet ajout est souvent nécessaire car des zones à l'intérieur
du singe n'ont pas été sélectionnées.
Finalement, une fois le détourage effectué, on copie la zone sélectionnée dans le presse papier avec
CTRL+C .
07/04/16 83/314Petite sélection quelconque (rectangulaire, elliptique ....) à coté du singe. Puis CTRL+V.
Déplacement du second singe à coté du premier. Ancrer la sélection (clic à coté).
Petite sélection quelconque (rectangulaire, elliptique ....) à coté des deux singes. Puis CTRL+V.
Déplacement du troisième singe à coté du second. Ancrer la sélection.
Et c'est fini, on obtient:
11.2) Outil ciseaux intelligents
Cet outil est plus délicat à manipuler que le précédent. Mais il peut donner un détourage rapide et de
qualité. Certains lui préfère l'outil Chemins qui lui ressemble .... sans l'intelligence mais qui est plus
abouti. L'outil ciseaux intelligents est peut-être la préfiguration du futur outil qui éclipsera tous les
autres. Si on l'utilise prudemment (ne pas faire d'erreurs de manipulation) on arrive à des résultats
remarquables. Après avoir réalisé un détourage avec cet outil on peut aussi enchaîner sur une
finition avec un masque rapide. Mais ce sera vraiment pour de petites choses si l'outil ciseaux
intelligents a été bien utilisé. Son icône est: . Ou bien pour le mettre en oeuvre <Outils>
<Outils de sélection> <Ciseaux intelligents>. On va reprendre l'exemple de notre cher macaque qui
est, entre parenthèses, le seul singe européen. On cherche encore à détourer ce singe.
On commence par mettre sur tout le pourtour des points sans s'attacher à beaucoup de précisions
(c'est là l'agréable de la méthode, on peut placer les points très rapidement). Ne pas hésiter à placer
plus de points que ce qui semble nécessaire, cela ne coute pas cher en temps. Puis quand on a fini
un tour de singe (!) on clique un dernier point sur le premier ce qui referme le contour approximatif
du singe.
Attention, après avoir refermer le contour, on peut encore rajouter des points si on juge qu'il en
manque à certains endroits à .... ses risques et périls. Car le moindre clic, pour rajouter un point, à
l'intérieur du contour approximatif délimité par les points déjà placés va transformer le contour
approximatif de points en la sélection calculée par l'algorithme. Et ce n'est pas ce qu'on veut. Quand
on part de l'extérieur du contour et qu'on traverse le contour, une icône en forme de plus apparait au
dessus du pointeur de souris .... tout va bien. Si cette icône se transforme (quand on progresse vers
l'intérieur) en un petit cercle en tireté attention cela veut dire qu'un nouveau clic va déclencher la
07/04/16 84/314Extension à une image avec plusieurs bulles
On sait faire avec une bulle. Quid de plus de bulles? On peut faire facilement des duplications de
l'ébauche de bulle lors de la deuxième étape. Ensuite la technique est la même. Mais le surcout de
temps va devenir pénalisant par rapport à d'autres logiciels. Avec GIMP c'est lent mais de toutes
façons même avec d'autres logiciels on aura des étapes incontournables. A part la création de la
pointe, il faudra bien choisir la forme, positionner, mettre une couleur de fond, mettre une couleur
de tracé, placer un texte et sauvegarder.
Tout cela demande un certain temps.
20) Création de petites animations de texte ou d'image
On a vu une animation créée à partir d'une suite d'images. On partait de plusieurs images.
On peut aussi réaliser une petite animation d'un texte d'une façon analogue. Cette fois ci on part
d'un seul texte qui est déformé et c'est la suite de déformations qui fournit la suite d'images de
l'animation. Ce genre d'animation est évidemment assez basique. Rien à voir avec des réalisations
en Flash. En GIMP peu d'animations sont disponibles et elles sont très basiques. Alors que
l'animation d'images peut avoir un intérêt pour illustrer un mouvement, cette animation de texte
07/04/16 133/314On obtient ceci:
Il faut noter que les filtres "Alpha vers logo" ne sont disponibles que pour du texte. Si l'on n'a
pas de texte la liste des filtres sera affichée en grisé et les filtres seront non disponibles.
Attention si on essaie de revenir alors à l'outil texte, on obtient un message d'avertissement:
"Confirmer l'édition de texte, Le calque que vous avez sélectionné est un calque de texte, mais il a
été modifié en utilisant d'autres outils ......". Cela veut dire qu'il ne faut plus toucher au texte après
l'effet néon! Car l'outil texte ne comprendra plus rien au texte qui a été modifié par d'autres acteurs.
Les pixels sont déjà générés dans trois calques: "Neon Tube", "Neon glow" et "Background".
Si on veut changer le texte il faut revenir en arrière par <Edition> <Annuler Neon>. Eventuellement
on peut supprimer les trois calques.
Que faire de l'image générée? ..... Comme d'habitude on peut exporter vers un fichier png. On aura
une image utilisable ordinaire.
Ou bien on peut enregistrer en xcf (enlever le calque "arrière-plan" qui ne sert à rien avant
l'enregistrement, mais ne pas enlever le calque Background) par exemple sous le nom
"EffetNeon.xcf". Puis on peut travailler sur un autre nouveau document xcf et dans celui-ci faire
<Fichier> <Ouvrir en tant que calques> en spécifiant le fichier EffetNeon.xcf créé. On retrouvera
alors les 3 calques "Neon Tube", "Neon glow "et "Background" dans le nouveau document.
07/04/16 138/314Donc le début de la zone de recopie est toujours la même en haut et à gauche de l'image,
c'est à dire en début de zone source.
Option choisie Aligné (de la liste «alignement») de l'outil de clonage
 on s'est placé en G et on a cliqué et glissé jusqu'au point H. On voit qu'on recopie encore de
la zone source vers la zone destination. On repère la suite de couleurs depuis le haut vers le
bas: noir, bleu, rouge, vert, jaune, noir. Rien n'est changé par rapport à l'option "Aucun".
 on s'est placé en I puis cliquer/glisser jusqu'en J. On voit bien la recopie du noir et du bleu.
On lâche le bouton et on recommence un cliquer/glisser de K jusqu'à L. On a recopie de
jaune et de noir, c'est à dire que la zone de la source qui fournit les pixels est celle qui a le
même décalage par rapport à l'origine de la source que l'endroit où on a cliqué (en K). Donc
le début de la zone de recopie n'est plus en haut et à gauche de l'image mais "en face" de
la ligne KL , d'où le terme d'aligné.
On voit dans les colonnes A, C, G, et I que la largeur de la zone copiée est fixe et assez petite dans
notre exemple. On peut changer cette largeur en choisissant une brosse et une taille de brosse
différente dans la fenêtre des options de l'outil de clonage.
Pour la manipulation précédente on ne s'est déplacé que verticalement pour le cliquer/glisser,
évidemment on aurait pu se déplacer dans une direction quelconque (c'est possible en oblique
aussi).
Voici le résultat avec une brosse plus grande et un déplacement suivant une diagonale:
Cet outil sert surtout à recopier un arrière-plan (situé dans une zone source) vers une zone
destination qui contient un objet à effacer. Nous allons en voir un exemple tout de suite.
24.2) Enlever des parties d'images non désirées
On part de l'image qui suit où on veut enlever la mouette (vraiment juste pour faire un exercice, car
ça ne semble pas très judicieux!). On utilise l'outil clonage. On a placé deux zones origines pour les
sources de clonage (mais en fait on en a utilisé plus) à titre d'exemple. Ensuite on déplace la brosse
vers la droite et on "efface" progressivement la mouette avec les pixels pris dans les zones sources.
On repasse plusieurs fois et en changeant les origines. Cet exemple est assez facile bien sur.
Remarque: D'une manière très courante, pour supprimer une zone non désirée, la technique
utilisée est de prendre des pixels dans le "contexte proche" pour les copier dans la zone à effacer. Il
07/04/16 167/314s'agit de "repeindre" la zone à effacer avec des pixels pris dans l'image et proches de ce qu'on
désire.
Pour cela toutes les techniques de recopie de parties d'image peuvent être utilisées. A commencer
par le très classique CTRL C (copie depuis une zone source sélectionnée) suivi d'un CTRL V dans
une zone à effacer sélectionnée. Pour ces sélections tout est bon (sélection rectangulaire, elliptique,
lasso, sélection par couleur ....).
Mais bien évidemment pourquoi aller s'embêter avec des CTRL C / CTRL V quand l'outil de
clonage est parfaitement adapté à ce travail et vraiment très pratique.

Zone origine de clonage
Brosse
Zone origine de clonage
Très rapidement on arrive au résultat suivant (on n'a vraiment pas passé beaucoup de temps à le
faire):
07/04/16 168/31424.3) Le filtre Resynthesize
"Resynthesize" est un plugin qui réalise de manière automatisée l'effacement d'un élément non
désiré dans une image (avec la commande <Heal selection> voir plus bas)..
On a trouvé au moins 5 versions de Resynthesizer pour GIMP (tout au moins pour Windows car il
existe aussi des versions pour Mac et Linux):
0.13, 0.13b (la version 0.13b est dite quelquefois pour Windows(?), 0.16 et 0.16b, 1.0(utilise Python
et est très récente).
Les versions 0.13 et 0.16 semblent dues au créateur de Resynthesize et assez anciennes (2008 à
2010). La version 1.0 semble due à un autre auteur (2012).
On a fait une installation (malheureusement l'installation est non automatisée) de la version 0.16 sur
un Windows 7 32 bits.
Puis à la suite de problèmes (bugs signalés sur les sites et constatés aussi de notre part) on a dû
ajouter un patch pour le fichier "SmartRemove" (la version erronée pesait 1k et la version non
erronée 5k). A la suite de quoi le plugin a marché correctement.
07/04/16 169/314Cette appellation RGB est souvent préférée car la notation RVB prète à confusion à cause du V.
la lettre V veut dire souvent aussi Valeur (ou en anglais V comme Value).
En notation française il y a donc confusion entre le V de Valeur et le V de Vert.
Dans l'image ci-dessous on a testé 4 combinaisons de couleurs.
Sur la première ligne on trouve à gauche la couleur rouge. Le code couleur entré pour remplir un
carré a été successivement de 000000, puis pour le carré suivant 800000 puis ff0000. On ne joue
donc que sur la composante rouge (égale à 00, puis à 80 puis à ff). On trouve comme résultat un
noir, un rouge foncé (un marron) et un rouge pur (vif).
Sur la première ligne on trouve à droite la couleur verte. Le code couleur entré pour remplir un
carré a été successivement de 000000, puis pour le carré suivant 008000 puis 00ff00. On joue donc
sur la composante verte. On trouve comme résultat un noir, un vert foncé et un vert pur.
Sur la seconde ligne on trouve à gauche la couleur bleue. Le code couleur entré pour remplir un
carré a été successivement de 000000, puis pour le carré suivant 000080 puis 0000ff. On joue donc
sur la composante bleue. On trouve comme résultat un noir, un bleu foncé et un bleu pur.
Enfin sur la seconde ligne on trouve à droite un test d'addition de couleurs. Le code couleur entré
pour remplir un carré a été successivement de 000000, puis pour le carré suivant 808000 puis ffff00.
On additionne donc les composantes rouge et verte en quantité égale. On trouve comme résultat un
noir, un jaune plutôt foncé (sorte de kaki) et un jaune vif.
On retrouve le résultat bien connu que le jaune résulte de l'addition de rouge et de vert.
27.3) Codage HSV
Avec le codage RGB, le codage HSV est un des plus populaires. On a déjà le problème de la lettre
V! Dans HSV le V veut dire Value. Ces deux codages sont simples et assez intuitifs. Ils ont des
défauts que relèvent fréquemment les spécialistes. Le domaine de la colorimétrie est assez
complexe. Mais finalement ils sont assez pratiques tout au moins pour des non spécialistes.
Le codage couleur HSV signifie Teinte, Saturation et Intensité (En anglais: Hue Saturation and
Value),
07/04/16 191/314Le paramètre H peut avoir des valeurs dans l'intervalle 0 à 360 degrés.
Les paramètres S et V peuvent avoir des valeurs dans l'intervalle 0 à 100.
Il existe des programmes permettant de calculer les paramètres HSV à partir de RGB et
réciproquement permettant de calculer des RGB à partir de HSV.
La teinte H
Examinons sur le tableau ci-dessous quelques valeurs caractéristiques en H (pour fixer les valeurs
de S et V, on a pris des valeurs maximums de S=100 et V=100). H, S et V ont été fixés puis on a
relevé les valeurs calculées correspondantes pour R, G et B.
H est exprimé en degrés de 0 à 360°.
H (°) R G B Couleur
0 255 0 0 Rouge
60 255 255 0 Jaune
120 0 255 0 Vert
180 0 255 255 Turquoise (Cyan)
240 0 0 255 Bleu
300 255 0 255 Magenta
On voit que quand H varie il y a parcours des couleurs de l'arc en ciel. En GIMP les couleurs
correspondant aux différentes valeurs de H ont été présentées de manière linéaire suivant une barre
de couleur. On trouve souvent une présentation de la teinte H en roue de couleurs dite aussi cercle
chromatique. C'est possible aussi en GIMP via la fenêtre "Modification de la couleur de premier
plan":
07/04/16 192/314Paramètres S et V
Saturation (paramètre S)
La saturation S précise la vivacité de la couleur: depuis de faibles valeurs (la couleur est fade)
jusqu'à 100 (la couleur est vive). On peut s'amuser pour une valeur de H fixée à faire varier le
paramètre S. Quand S prend des valeurs de plus en plus faibles (on peut aller jusqu'à 0), on peut
constater que les paramètres R, G et B tendent à devenir égaux. La couleur semble de plus en plus
délavée. La couleur tend vers du gris ou même du blanc. Pour la valeur maximum de S (c'est à dire
100) la couleur est vive.
La formule donnant S est: S = 1 - Min/Max
Il faut multiplier par 100 pour avoir une valeur entre 0 et 100
Min est le minimum des 3 valeurs R, G et B.
Max est le maximum des 3 valeurs R, G et B.
Intensité (paramètre V)
L'intensité V représente une sorte d'intensité lumineuse de la couleur.
La formule donnant S est: S = Max
Il faut multiplier par 100 et diviser par 255
pour avoir une valeur entre 0 et 100
Max est le maximum des 3 valeurs R, G et B.
Une valeur nulle donne le noir. On peut essayer de donner la valeur nulle à V puis de changer S et
V. Le résultat sera toujours le noir. Ce que l'on peut constater sur les valeurs R, G et B qui sont alors
toujours nulles. Autrement dit sur un écran couleur, physiquement les pixels de couleur sont éteints.

L'intensité V a une valeur maximum de 100. Si on donne cette valeur de 100 à V, il y a au moins
une valeur de R,G ou V qui est maximale (à 255). Mais les proportions entre R,G et V sont
conservées. Donc en général V maximale n'implique pas du blanc. V maximale donne l'intensité
lumineuse maximale possible pour les composantes R,G et B tout en conservant la teinte.
Fenêtre modification de la couleur
Examinons la fenêtre "Modification de la couleur de premier plan" de GIMP.
On peut s'essayer à fixer des couleurs au moyen des HSV.
On trouve à droite 3 lignes intitulées HSV (juste au dessus des lignes RGB) qui permettent de fixer
manuellement ces valeurs.
On peut aussi par des clics se positionner dans cet espace HSV.
On distingue, à gauche, un grand carré d'affichage de couleur et une barre verticale qui permettent
ce positionnement.
La barre verticale représente les valeurs possibles de H depuis 0 (en bas) jusqu'à 360 (en haut).
Le positionnement dans le carré des couleurs (par un clic par exemple dans ce carré) fixe les valeurs
de S et V.
07/04/16 193/314V
de 0
à 100
Il est préférable de cocher le choix H pour que la teinte ne varie pas. On ne joue alors que sur les
valeurs de S et V qu'on peut alors examiner confortablement.
Pour S depuis le bas (S=0) jusqu'en haut du carré (S=100).
Pour V depuis la gauche (V=0) jusqu'à la droite du carré (V=100).
S H
de 0 de 0
à 100 à 360
On vient de voir des explications assez générales sur le codage HSV. On va essayer maintenant de
mettre en évidence par quelques exemples numériques des propriétés plus précises de ce codage.
On rappelle que, en GIMP, V = Max (R,G,B) et on va commencer par s'intéresser à V.
Comme le rôle (d'un point de vue logique) de la couleur G est identique aux rôles des couleurs R et
B, on va prendre comme base un vert G qui est égal à Max (R,G,B). Donc G sera égal au maximum
des composantes de couleur (G est le maximum). Les raisonnements seraient les mêmes si on
s'intéressait à R maximum ou à B maximum.
On trouve sur Internet des convertisseurs en ligne permettant de calculer soit HSV à partir d'un jeu
de RGB ou soit l'inverse de calculer RGB à partir d'un jeu de HSV. En effet on peut passer d'un
codage à l'autre et il existe des formules précises permettant de le faire dans un sens ou dans l'autre.
Faire attention quand même que les définitions pour HSV peuvent être légèrement différentes
suivant les systèmes.
Ces convertisseurs sont parfaitement inutiles pour les utilisateurs de GIMP. Puisque celui ci donne
les six valeurs en parallèle (mais attention suivant les définitions adoptées par GIMP).
07/04/16 194/314On a appliqué aussi des variations de contraste de -30, -15, 15 et 30 aux rectangles, sans toucher au
curseur luminosité. D'un point de vue simple on pourrait penser que dans un aplat de couleur d'un
rectangle une modification de contraste ne devrait rien faire. Ce n'est pas le cas une modification de
contraste entraine aussi une variation de luminosité. Contraste et luminosité sont liés. Diminuer le
contraste va avoir tendance à rendre les tons sombres plus clairs et les tons clairs vont s'assombrir.
A titre extrême on peut avec le fonctionnement évoqué plus haut (cliqué/glissé) voir le résultat d'une
variation de contraste fort négatif (-127 est possible). L'image devient uniformément grise. Avec
une variation très forte (+127) certains rectangles deviennent noirs.
Avec une variation de contraste positive la variation de luminosité obtenue est limitée sauf dans des
zones assez sombres qui deviennent plus sombres.
Avec une variation de contraste négative, les résultats obtenus peuvent être déconcertants. Il y a un
affadissement de l'image.
b) L'outil Courbes
Cet outil fait partie des outils les plus importants de GIMP.
Histogrammes
A la base de cet outil est la notion d'histogramme. Comme on l'a dit on cherche à expliquer à travers
des exemples. On va mettre en oeuvre sur ceux-ci l'outil courbes qui est reconnu comme très
puissant..
Prenons donc, sous GIMP, une image avec 4 rectangles de couleur (voir dessin ci-après) ayant pour
composante R=200, puis 180, 140 et 80. On a pour les autres composantes V=B=0.
Effectuons <Couleurs> <Courbes>. Puis choisissons un canal rouge pour le diagramme
(l'histogramme) affiché par l'outil courbes.
Tous les pixels de l'image de GIMP ont des composantes de la forme de triplet RVB tel que:
R = un nombre (200, 180, 140, ou 80) et V=B=0. Il y a d'ailleurs pratiquement autant de pixels dans
ces 4 catégories (aux approximations de dessin près). Il n'y a pas de pixels dans l'image ayant
d'autres caractéristiques. C'est ce que montre l'histogramme.
On trouve dans l'onglet "Courbes" un dessin avec un quadrillage vertical et horizontal. Le graphique
affiché représente un comptage. GIMP a compté le nombre de pixels présents dans l'image ayant la
composante rouge et les valeurs 0, puis 1, puis 2, ...., ... (il n'a rien trouvé pour ces premières
valeurs), puis 80 (là il en a trouvé beaucoup), puis rien avec une composante 81, 82, ...., puis pour
140 il trouve encore beaucoup de composantes dans l'image, ...., GIMP terminera en cherchant des
pixels ayant une composante 255 (et il ne trouvera rien). GIMP porte sur le graphique les comptages
trouvés.
Sur ce graphique en abscisse on trouve les valeurs des composantes 0,1,2,3, .... 80, 81, ..... 140, 141,
....,255. et en ordonnée les valeurs de comptage (sous forme de raies verticales). GIMP dessine pour
chaque comptage une raie (segment de droite vertical) dont la longueur représente le comptage.
Il n'y a donc pas de segments pour 0,1,2,3 ..... Les seuls segments tracés sont pour les comptages
pour 200,180,140,80. On a forci le trait des segments car le dessin de GIMP donne des segments
très fins peu lisibles.
07/04/16 214/314Les comptages bruts, à l'origine de l'affichage de l'histogramme, ne sont pas vraiment affichés.
GIMP normalise, plus ou moins, les valeurs de comptage en ordonnée entre 0 et 255. La
visualisation de l'histogramme affiche non pas les comptages bruts mais ces comptages "normalisés
à des fins d'affichage". Pour une couleur on peut donc, à partir de l'histogramme, seulement déduire
des répartitions mais pas des valeurs absolues. On peut comparer les valeurs des comptages entre
elles, mais pas comparer des comptages faits sur des couleurs différentes (pour cela voir plus loin la
fenêtre ancrable
"Histogramme")Attention si on essaye de reproduire ce diagramme à ce que la sélection de pixels effectuée avant
<Courbes> délimite exactement les 4 rectangles. Si on englobe un entourage blanc pour ces 4
rectangles dans la sélection, ces pixels blancs seront comptés aussi. Cela va rajouter un segment à la
valeur 255 (et qui en plus ne sera pas visible car complétement décalé à droite).
Histogramme d'un dégradé
GIMP donne dans un histogramme une représentation des rapports entre les différentes
composantes présentes dans l'image dans une couleur. Mais attention à la comparaison des
résultats entre couleurs. Il est difficile de le faire. GIMP cherche à présenter le diagramme de la
07/04/16 215/314PROGRAMMATION EN PYTHON
31) Filtres Python-Fu
On remarque <Filtres> <Python-fu> <Console> dans les menus. Cette commande permet l'accès à
la console de Python. Avec ceci on aborde un aspect beaucoup plus complexe que l'utilisation d'un
outil ordinaire. La console permet l'écriture de programmes en langage Python. La console est
semblable à une fenêtre de lignes de commandes ou invites de commandes (terminologie Windows)
ou Shell (terminologie Unix). Voir l'annexe "notions sur PYTHON avec essais à la console
PYTHON" qui décrit rapidement cette console et son utilisation.
La console, qui se présente comme une petite fenêtre, parait simple et peu puissante. Ce n'est qu'une
impression. On peut très bien utiliser cette console pour écrire des programmes assez sophistiqués.
On peut écrire ses propres greffons. Bien sur l'utilisation d'outils de développement autres n'est pas
interdite!
Le mécanisme des greffons (plug-in en anglais) permet à un utilisateur de rajouter, aux mécanismes
standards de GIMP, ses propres outils ou des outils faits par d'autres. Ces outils peuvent être
puissants.
La difficulté est que l'utilisateur devra créer ces outils au moyen de petits programmes. Un grand
intérêt est que la communauté des utilisateurs de GIMP peut échanger les créations programmées. Il
existe une grande quantité de greffons disponibles. Donc finalement si un utilisateur trouve son
bonheur dans un greffon déjà programmé, il n'aura pas à le faire. Il n'aura qu'à télécharger le greffon
et à l'installer. ATTENTION à la (ou les) version de GIMP indiquée. L'écriture des programmes a
été faite sur une certaine version de GIMP. Il n'y a la plupart du temps aucune assurance pour que
cela marche pour les versions de GIMP suivante.
De plus les versions portables de GIMP peuvent représenter un cas particulier. On les
exclura dans ce chapitre.
On peut voir, dans le menu <Filtres>, deux sous-menus: <Python-Fu> et <Script-Fu>. On se doute
que <Script-Fu> permet aussi l'écriture de scripts. Les Script-Fu sont analogues aux greffons, ce
sont aussi des extensions programmées de GIMP. Mais c'est une technique plus ancienne basée sur
le langage Scheme (héritier du bien connu Lisp avec son amas de parenthèses). La nouvelle
tendance est de programmer en Python, les Script-Fu semblent devenir moins populaires. Il faut dire
aussi que Python avec tous ses auxiliaires (bibliothèques variées....) forme un ensemble d'une
puissance impressionnante.
On ne parlera que peu des Script-Fu. Il est bien sur encore possible d'utiliser des Script-Fu. Ils
présentent aussi des avantages. Par exemple l'indépendance vis à vis d'un langage extérieur. Ils ont
probablement une portabilité meilleure. On sait par exemple que lors d'un changement récent de
version de Python, l'équipe de développement en a profité pour faire beaucoup de "ménage". Cela
devenait indispensable devant l'accumulation de vieilles fonctionnalités. Ces changements
conduisent à l'obsolescence de certains programmes.
Il faut encore noter que comme les Script-Fu ont plus d'ancienneté, on en trouve quantités pour des
tâches très diverses. Ils sont aussi utilisés par des utilisateurs pour des automatisations de tâches en
GIMP. L'écriture de greffons Pythons passionne des utilisateurs vraiment attirés par la
programmation.
07/04/16 241/314On peut distinguer plusieurs cas d'utilisation/création de greffons:
• On a remarqué un greffon et on aimerait bien l'insérer dans notre version de GIMP. Pour
cela nul besoin de connaître Python (ou un autre langage). Il suffit de savoir où placer les
fichiers téléchargés et comment les insérer dans le logiciel.
• On aimerait bien explorer par curiosité les commandes disponibles à la console Python. On
peut se contenter d'une connaissance limitée de Python et des API disponibles.
• On veut programmer son propre greffon par curiosité et là il faut assez bien connaître le
langage de programmation Python ce qui n'est pas très complexe. Python est un langage
reconnu comme assez simple.
Mais la difficulté va surtout résider dans la connaissance des API. Il est hors de question de
tout reprogrammer. Il faut se baser sur des sous-programmes déjà écrits (dans des API) dans
le but de faciliter la tâche du programmeur. API est un acronyme anglais pour "Application
Programming Interface". En français cela correspond à Interface de Programmation
Applicative. Cette appellation française est plus rare d'utilisation.
On trouve dans une API des sous-programmes puissants, complexes et distribués la plupart
du temps gratuitement. Ces sousmmes sont spécifiques à un gros logiciel (ou à un
grand système) et servent à faciliter les développements de nouveaux programmes
applicatifs. Ce sont des sortes de "briques" qui facilite la construction d'un nouveau
programme. Pour nous un nouveau programme sera un nouveau greffon.
• On veut vraiment programmer un greffon très efficace. Là l'utilisation de bibliothèques
spécialisées parait nécessaire (comme celle appelée Numpy dont on parlera un peu).
L'utilisation d'un langage réputé performant en vitesse comme le langage C peut devenir
indispensable. Mais là c'est plutôt un domaine réservé à des professionnels de la
programmation.
Pour avoir une idée sur ce qu'on peut trouver comme API sur Python faire une recherche sur
Internet avec les mots API et PYTHON et GIMP. Voici des adresses où il y a pas mal de choses:
http://www.gimp.org/docs/python/index.html
http://gimpbook.com/scripting/
http://registry.gimp.org/node/24275
Un document pdf (licence Creative Commons BY-NC-SA) téléchargeable gratuitement qui offre un
panorama de Python et de tout ce qui gravite autour de Python est disponible en ligne à condition de
s'inscrire chez InLibroVeritas.
Avec les nouvelles versions de GIMP, Python est déjà inclus dans la distribution de GIMP. Il n'y a
pas à l'installer. C'est déjà une bonne simplification.
Pour avoir une première idée des scripts et greffons disponibles ouvrir GIMP, aller voir en
<Aide><Navigateur de greffons GIMP> et examiner les listes proposées.
On va trouver, dans ces listes, des greffons ou des scripts déjà incorporés à GIMP. On peut via le
champ «Rechercher» explorer les possibilités de greffons. Essayer par exemple de rechercher avec
les mots "Layer" ou "Selection" ou "Color" .... Tout est en anglais.
Les greffons et les scripts s'incorporent directement dans l'arborescence des commandes. C'est
pratique pour leur utilisation.
Mais c'est difficile de voir dans les sous-menus de GIMP si une commande est vraiment une
07/04/16 242/314commande propre à GIMP ou si c'est un script ou un greffon. Souvent ceux ci sont dans le menu
<Script> mais pas nécessairement.
La colonne, dans le navigateur de greffons, "Chemin dans le menu" permet de savoir où l'utilitaire a
été placé.
Par exemple <Filtres> <Rendu> <Figures géométriques Gfig> correspond à un greffon.
Autre exemple <Sélection> <Rectangle arrondi> correspond à un Script-Fu. A la place de script le
mot Script-fu est très souvent utilisé.
La commande <Fichier> <Créer> permet aussi de voir beaucoup de scripts installés. Attention cette
commande ne sert pas à créer des scripts ou greffons. Elle sert à pouvoir sélectionner (pour
utilisation) un script/greffon qui nous intéresse. Essayer ainsi de créer un bouton, un logo, ... en
explorant dans <Motifs> ou <Logos> ou <Boutons> .... Mais il y a des différences par rapport à
ceux analogues qu'on peut trouver dans d'autres menus. Par exemple contrairement à l'exécution des
scripts de <Filtres> <Alpha vers logo> d'une part avant le lancement, nul besoin de créer un calque
de texte et d'autre part il y a création d'une nouvelle image contenant le logo créé. On peut examiner
la taille du canevas et s'apercevoir que celui-ci est "taillé" exactement sur le bouton ou le logo ....
sélectionné.
Sur la copie d'écran suivante on peut voir une fenêtre typique du Navigateur de greffons. Ce
navigateur répertorie les greffons et les scripts. On peut faire une recherche en donnant une
indication dans le champ "Rechercher" (comme on l'a déjà vu), mais il faut quelquefois donner au
moins deux caractères (?). Par exemple en tapant ch on trouvera l'entrée "Chrome" et avec bo on
aura "Bovination".
L'anglais est utilisé systématiquement dès que le sujet devient très technique. Ce sera une difficulté
pour les non anglophones avec les scripts et les plugins pour lesquels on trouve souvent des
informations ou des versions en anglais. C'est ce que l'on constate sur la copie d'écran. La traduction
est facile (les mots techniques anglais ressemblent beaucoup aux mots français.) Voici quand même
une petite table de traduction pour aider:
Français Fichier Créer Motifs Composants Mixeurs de Couleur Filtres Alpha vers
canaux logo
Anglais File Create Patterns Components Channel Color Filters Alpha to
Mixer logo
On pourra trouver un lexique pour l'informatique en:

https://www.info.ucl.ac.be/~pvr/lexicon.html
https://openclassrooms.com/courses/apprenez-a-creer-avec-gimp-2-8/infos-et-ressources-utilespour-le-gimpeur
07/04/16 243/314Les entrées affichées dans la table commencent par <Image>, c'est un terme qu'il faut "sauter" pour
la lecture dans le navigateur de greffons.
On voit que le Mixeur de canaux, dont on avait parlé sans autre précision en pouvant laisser
entendre qu'il faisait partie de GIMP, est en fait un greffon. On le trouvera à <Colors>
<Components>. On le savait déjà.
On pourrait voir que Bovination est accessible en deux endroits:
en <File> <Create> <Logos> et en <Filters> <Alpha to logo>.

Un des problèmes, qui ne concerne pas seulement les greffons mais tous les petits utilitaires qu'on
peut trouver sur le net, reste leur maintenance et leur sécurité. Un greffon écrit dans le feu de la
passion puis non maintenu se transforme en une grande déception pour les utilisateurs.
Quand aux sources de téléchargement il vaut mieux être prudent et n'utiliser que des sites très
sérieux.
31.1) Installation de greffons / scripts

Il existe des installateurs qui installent des groupes de greffons. Le problème est que l'on a alors à sa
disposition un trop grand nombre de plugins pour travailler et que cela devient lourd à utiliser si on
installe comme cela à tout va des plugins. On va avoir de grandes arborescences de commandes.
Les maitriser n'est pas évident si on est un utilisateur occasionnel.
Il existe des installations compatibles avec plusieurs types de systèmes d'exploitation. Mais il y en a
d'autres qui ne sont disponibles que sur un système (par exemple prévus pour Linux, si vous voyez
arriver des .tar .gz c'est souvent pour Linux). Il y a des versions pour des systèmes 32 bits ou 64
bits. Il y a des versions pour installation standard de GIMP et d'autres pour des versions portables. Il
faut être attentif à ce qui est proposé.
Voir à titre d'exemple les recommandations à cette URL: http://liquidrescale.wikidot.com/en:start
Ce sont des pages destinées à un greffon très intéressant de nom "Liquid rescale" qui
redimensionne une image de manière sélective (une zone peut être redimensionnée différemment
d'une autre zone): versions pour Linux, pour Mac ou Windows, pour GIMP versions standard ou
portable et pour des versions de GIMP supérieure à 2.8 ........ faut sélectionner!
07/04/16 244/314ANNEXE: notions sur PYTHON avec essais à la console PYTHON
Pour lancer la console, on a vu qu'il faut faire <Filtres> <Python-Fu> <Console>. On obtient
l'ouverture d'une fenêtre nommée "Console Python". On va profiter de cette console pour manipuler
quelques instructions en Python. Le but est de donner quelques notions élémentaires sur Python en
manipulant quelques instructions simples. Cela donnera une première idée de Python pour ceux
qui ne le connaissent pas du tout et cela leur permettra de commencer à lire quelques lignes de
greffons. On suppose que le lecteur a une connaissance élémentaire sur les langages de
programmation. On va surtout présenter ces quelques instructions Python à travers des exemples.
On va présenter les instructions Python, certaines contraintes ou définitions avec un fond gris clair.
Les mots clés ou les noms de certaines procédures/fonctions seront écrits avec une taille un peu plus
grande et en italiques. Les caractères CR correspondent à la touche de retour à la ligne.
Bien que rudimentaire, la console est d'une utilisation assez pratique.
Quelques adresses où on trouvera, en ligne, des cours sur Python (il y en a énormément):
https://www.python.org/ La documentation y est abondante
https://openclassrooms.com/courses/apprenez-a-programmer-en-python/
http://python.developpez.com/cours/TutoSwinnen/?page=page_1
http://python.lycee.free.fr/bases.html
http://www.cours-gratuit.com/cours-python/ Plusieurs cours sur ce site
L'invite à la frappe est constituée de trois caractères plus grand >. On peut directement entrer des
instructions Python, par exemple l'instruction i=1.
Il existe une aide en ligne qui peut s'appeler par help(). On trouvera ainsi des indications sur l'aide
elle-même. Voici une copie d'écran de la console Python:
07/04/16 285/314Pour lire certaines rubriques, il faut être un peu habitué à la programmation objet.
Parmi les aides de premier secours (qui donnent de longues pages d'explications non reproduites
ici):
>>>help("topics") qui donne une liste des rubriques d'aide.
>>>help("keywords") qui donne les mots clés réservés du langage
>>>help("gimp") informations sur le module gimp qui permet l'écriture de plugins
>>>help("gimfu") iations sur le module gimpfu qui aide à l'écriture de plugins
>>>help("modules") une très longue liste de modules
Comme les listes affichées sont longues, la commande <Effacer> suivie d'une demande de lecture
d'une rubrique d'aide permet de lire un peu mieux la dernière rubrique. Voir la commande <Effacer>
en bas de fenêtre de console Python.
Encore mieux pour lire confortablement: faire CTRL C puis CTRL V et effectuer une copie dans
un traitement de texte et même un archivage.
Pour avoir des premiers renseignements et voir la version de Python utilisée faire:
>>> help()
Welcome to Python 2.7! This is the online help utility.
........................; etc message avec des premiers renseignements
>>> import sys
>>> print sys.version
2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)]
On est donc actuellement en version 2.7 et pas en version 3. Cela va poser des problèmes pour faire
07/04/16 286/314des print. Dans ce domaine il y a eu des changements entre la version 2 et la version 3. On est
obligé de suivre la syntaxe de la version 2 (sans parenthèses). La syntaxe de la version 3 est avec
parenthèses. Ce n'est pas gênant pour nous vu le peu de programmes que nous allons écrire. On a
fait deux commentaires ci-dessous, les commentaires doivent être précédés du caractère #.
Il faut savoir qu'on écrira:
print i # en version 2
print (i) # en version 3
La documentation pour programmer en Python avec GIMP se trouve en: http://www.gimp.org/ dans
la partie "Documentation" ou 'Docs". Elle est très centrée sur l'écriture de plugins. Donc pas très
utile ici. Même remarque pour la racine de l’API qui se trouve ici :
http://developer.gimp.org/api/2.0/libgimp/index.html

En revanche on trouvera une documentation centrée sur les fondamentaux du langage Python en :
https://docs.python.org/3.4/reference/index.html dont voici une copie d'écran:
Comme il est dit en entête de ces pages:
"This reference manual describes the syntax and “core semantics” of the language. It is terse, but
attempts to be exact and complete. "
En effet, en particulier, la grammaire et les mots utilisés sont souvent décrits de manière très
précise.
Il y a en Python des mots clés réservés (comme d'habitude). C'est à dire des mots qui sont utilisés
dans le langage Python et qui ne peuvent pas être utilisés par un utilisateur comme des noms de
variables ou des noms de fonctions, ou ... des noms de tous les objets définissables par un
utilisateur.
Pour les voir (sauf ... None, True, False) faire sous la console, comme déjà vu: help("keywords")
and as assert break class continue def
del elif else except False finally for
from global if import in is lambda
07/04/16 287/314None nonlocal not or pass raise return
True try while with yield exec
Les opérateurs sont assez classiques.
Pour les voir (attention OPERATORS est en majuscules) sous la console faire:
help("OPERATORS")
Les opérateurs de comparaison en Python sont assez classiques, voir aussi:
help ("COMPARISON")
Comparaisons inférieur supérieur égalité différent inf. ou égal sup. ou égal
Symboles < > == != <= >=
Exemples: 2 < 3 est True et 'abc' <'axyzt' est aussi True ...etc.
Les opérateurs arithmétiques sont eux aussi assez classiques:
Reste Quotient
Opérateurs
Addition Soustraction Multiplication Exponentiation Division division division
arithmét. entière entière
Symbole + - * ** / % //
Expression 2+2 3-1 2*3 2**3 7/2 14%3 14//3
Valeur 4 2 6 8 3,5 2 4
1) Quelques instructions simples
On n'a pas à faire de déclaration préalablement à l'utilisation d'une variable. Le typage est
dynamique. Une variable doit être initialisée avant d'être utilisée
Les affectations multiples sont autorisées (par exemple initialiser à la valeur nulle trois variables u,
v et w):
u=v=w=0
ou bien pour transférer les valeurs de u et v+4 dans x et y:
x,y = u,v+4
On peut mettre plusieurs instructions sur une ligne en les séparant par un point virgule.
Par exemple: i=1; j=2; pi = 3.14116
Instructions exemples 1: On a deux variables i et j de type entier (c'est à dire de type int en
Python). On peut obtenir le type d'une variable avec la fonction type.
>>> i=1
Après l'invite à la frappe, on a tapé i=1
07/04/16 288/314>>> j=i*20 + 7
>>> print j
27
>>>type (i)
Le type de la variable i est int<type 'int'>
Instructions exemples 2: On a une variable a de type chaîne de caractères (c'est à dire de type str
en Python). On a inclut un premier commentaire (un commentaire doit être précédé du caractère #).
Les chaînes doivent être encadrées par une apostrophe simple ou double ou ... à voir plus tard.
>>>a='vu, compris' #Ceci est un commentaire
>>>print a
vu, compris
S'il n'y a pas de >>> c'est un affichage utilisateur (càd un print)>>>type (a)
<type 'str'>
Instructions exemples 3: On teste une condition j>10. Puis on utilise des si alors sinon. Comme
l'interpréteur ne sait pas si après un if on va mettre un else, il affiche trois points. On peut après des
trois points soit valider par CR (touche Entrée du clavier) soit entrer un else soit entrer un elif. On a
proposé trois séquences complétement indépendantes.
Là il y aura des commentaires à faire. En effet Python utilise beaucoup l'indentation d'instructions.
Voir quelques informations sur le if avec help("if").
Vous aurez sans doute à vos débuts beaucoup d'erreurs dues à une mauvaise indentation si vous
débutez en Python. Voir le paragraphe suivant (surtout si vous avez des erreurs!).
Les lignes à entrer au clavier deviennent un peu nombreuses et la frappe au clavier un peu
laborieuse. Il faut jouer, pour éviter de retaper une instruction déjà entrée, sur les touches Vers le
haut (flèche vers le haut sur le clavier á) et Vers le bas (flèche vers le bas sur le clavier â) de
rappel de commandes (procédé bien connu des utilisateurs de Linux fort habiles en ligne de
commande).
Ci-dessous j est de type réel, c'est à dire float en Python.
>>> j=15.88 # Première séquence exemple
>>> if j>10:
Valider, après les 3 points, par la touche entrée CR. Si on a copié
... print 'plus grand' #Après trois points => CR
la séquence à partir d'un fichier texte (voir plus bas)....
Dans le fichier texte on a mis une ligne vide entre la ligneplus grand
print et la ligne type.>>> type (j)
<type 'float'>
>>>
>>> if j<0: print 'negatif' # Deuxième séquence exemple
... else: print 'positif' # Après trois points, valider <=> CR
...
S'il y a trois point, la console attend une suite,
positif
ici la suite c'est le else
07/04/16 289/314>>> if j<0: print 'negatif' # Troisième séquence exemple
... elif j>=10: print 'Sup a 10'
... else: print 'Inf a 10' #Après 3 points qui suivent, CR svp
...
Sup a 10
>>>
Instructions exemples 4: La dernière séquence devient un peu longue. On peut dans la console
faire un copier/coller tout simple. On va mettre la séquence précédente dans un fichier texte par
exemple de nom "essaiBackPython.txt". Puis faire un copier/coller des caractères du texte depuis le
fichier (avec CTRL C) vers la console (avec CTRL V) ceci après l'invite à la frappe >>>.
Le fichier va par exemple ressembler à ceci:
j=1
if j<0: print 'negatif'
elif j>=10: print 'Sup a 10'
else: print 'Inf a 10' #Après 3 points qui suivent, CR svp

print "On a j=",; print j
Ce qui va donner l'exécution suivante (on repèrera une exécution avec les caractères >>>):
>>> j=1
>>> if j<0: print 'negatif'
... elif j>=10: print 'Sup a 10'
... else: print 'Inf a 10' #Après 3 points qui suivent, CR svp
...
Inf a 10
>>> print "On a j=",; print j
On a j= 1
>>>
Ensuite l'exécution se déroule comme précédemment. Il faudra faire des CR éventuellement à
l'exécution.
Cela va être un peu plus agréable maintenant de pouvoir sauvegarder son travail.
On aura remarqué la ligne print "On a j=",; print j
L'ajout de la virgule après le premier print permet d'imprimer sur la même ligne (sinon on aurait eu
deux lignes:
une avec On a j=
la suivante en dessous avec: 1
On aurait pu tout écrire avec un seul print bien sur.
Comparer l'exécution de print j; print j ==> affiche deux lignes avec 1 affiché sur chacune
avec print j,; print j ou bien print j,j ==> affiche une seule ligne égale à: 1 1
Ne pas hésiter aussi à utiliser la commande <Effacer> de la console car les exécutions successives
entrainent des difficultés de lecture.
07/04/16 290/314Type entier: On a parlé d'un type entier. C'était en fait un type entier normal. Il existe aussi un type
entier long qui permet de travailler avec des entiers de n'importe quelle taille même si cette taille est
immense. Les constantes de type entier long s'écrivent avec une valeur entière suivie du caractère L.
Par exemple:
>>>i = 1 # la variable i est entière "normale"
>>>k=1L # la variable k est entière "longue"
>>># les deux possèdent la valeur 1
Caractères de contrôle d'impression:
Deux caractères de contrôle sont particulièrement utiles pour améliorer les sorties à la console qui
sont assez austères. Il faut utiliser le caractère \ dans une chaîne à imprimer suivi d'une indication.
Par exemple \t indique que l'on va déclencher une tabulation.
Par exemple \n indique que l'on va déclencher un retour à la ligne.
Ce qui peut nous donner avec les deux lignes d'instructions suivantes:
>>> print "C'est la première ligne\nSuivie de la deuxième ligne"
C'est la première ligne
Suivie de la deuxième ligne
>>> print ("\t\tDecalage de 2 tabulations, puis encore 2 tabulations\t\tVoila le résultat")
Decalage de 2 tabulations, puis encore 2 tabulations Voila le résultat
>>>
.
2) tests, opérations et opérateurs logiques
Il existe deux valeurs logiques: True et False. Voir à ce sujet: help("TRUTHVALUE").
Python considère aussi comme valeur booléenne fausse: une valeur numérique nulle, une chaîne
vide, la valeur None. Les opérateurs logiques peuvent être trouvés avec: help("OPERATORS").
Après un test avec une expression booléenne on DOIT ajouter le caractère deux points. C'est un
point qui conduit à de nombreuses erreurs pour les habitués d'autres langages.
On a utilisé précédemment des énoncés du genre:
if condition: instruction
Là on n'avait pas de problème d'indentation.
Mais la syntaxe générale pour un énoncé if simple est:
if condition:
bloc d'énoncés indentés
Essayons ceci:
>>> i=1
>>> if i>0:
... print i
File "<input>", line 2
print i
07/04/16 291/314 ^
IndentationError: expected an indented block
>>>
On obtient un message d'erreur d'indentation (message en rouge). Python est très exigeant sur ce
point. Il demande à ce qu'il y ait un premier niveau d'indentation pour les instructions du si. On
représentera pour plus de clarté le caractère de tabulation par ð (mais voir plus loin sur le conseil
de non utilisation du caractère tabulation!) et par ¨ le caractère espace. Une frappe correcte peut
être:
>>> i = 1
>>> if i>0:
... ð print i
...
1
>>>
Si, dans la clause du alors, l'on a plusieurs instructions à mettre, il faut tout indenter:
>>> i = 1
>>> if i>0:
... ð print i
... ð i=i+1
... else:
... ð print "On est dans le else"
... ð print 2*i
...
1
On écrit une nouvelle séquence (voir ci-après) et qui donne une erreur. On voudrait que le dernier
print j soit en dehors de l'énoncé si alors:
>>> i = 1; j =2
>>> if i>0:
... print i
... print j # On voudrait que cette instruction ne soit pas dans le if
File "<input>", line 3
print j
^
SyntaxError: invalid syntax
En mode interactif à la console, il faut mettre une ligne vide (attention vraiment vide) , si on utilise
un fichier texte, après l'énoncé complet du si alors.
>>> i = 1; j =2
>>> if i>0:
... print i
...
1 On a mis une ligne vide ici
>>> print j
2
07/04/16 292/314>>>
Si un bloc contient des indentations, il a besoin d'une validation par une ligne vide (qui le suit) pour
pouvoir s'exécuter
Ce mécanisme d'indentation est quelquefois assez pénible.
Pour éviter trop d'indentation, les else if sont condensés en python en elif. Les elif sont exemptés
d'indentation. Voici sans elif une séquence (prise dans un fichier texte et pas prise à l'exécution pour
bien voir les indentations)::
i = 1;
if i>0:
ð print i
else:
ð if i == 0:
ð ð print "i égal 0"
ð else:
ð ð if i == -1:
ð ð ð print "i égal -1"
ð ð else
ð ð ð print "Négatif ni 0 ni -1"
print "c'est fini"
La règle pour les elif est la suivante (exemple avec 3 conditions):
Les elif sont dispensées d'indentation mais leurs énoncés doivent être indentés quand même par
rapport à leurs conditions.
if condition 1:
Enoncé indenté pour la condition 1
elif condition 2:
Enoncé indenté pour la condition 2
elif condition 3:
Enoncé indenté pour la condition 3
else:
Enoncé indenté pour la condition 3
....... etc.
La même séquence (toujours dans un fichier texte) que précédemment avec des elif est beaucoup
plus sympa.
i = 1;
if i>0:
ð print i
elif i==0:
ð print "i égal 0"
elif i == -1:
ð print "i égal -1"
else:
ð print "Négatif ni 0 ni -1"
07/04/16 293/314print "c'est fini"
L'utilisation de tabulations donne un joli rendu rapide mais peut poser problème.
Il ne faut pas mélanger (pour l'indentation) des tabulations et des espaces. Avec des polices
proportionnelles une tabulation sur une ligne et plusieurs caractères espace sur une autre ligne
peuvent donner un bon rendu d'indentation au moment de la frappe. Mais le rendu peut être
différent de ce que la console Python montrera plus tard. Cela donnera lieu à des messages
d'erreurs avec une interprétation pas évidente (à l'écran tout peut sembler à peu près correct).
La technique un peu plus sure (et un peu plus longue), préconisée très souvent, est de ne mettre que
des espaces et aucune tabulation. Avec un éditeur très populaire (et avec d'autres c'est possible
aussi) comme Notepad++ on peut se rendre à <Settings> <Preferences> <Langage menu/tab
settings>. Cocher la case «Replace by space». Toutes les tabulations entrées seront remplacées par
des espaces. De plus une touche tabulation donnera par défaut des alignements sur des multiples de
numéro de colonnes de 4 espaces.
Les erreurs d'indentation, dues par exemple à une différence d'un espace, sont difficiles à détecter.
Les erreurs d'indentation seront inévitablement nombreuses et énervantes.
Voici le fichier texte du même programme que précédemment avec un décalage d'indentation d'un
seul espace à chaque fois (ce fichier donne une exécution correcte) sans tabulations:
i = 1; j = 2
if i>=0:
¨print i
else:
¨if i == -1:
¨¨print "i égal -1"
¨else:
¨¨if i == 1:
¨¨¨print "i égal 1"
print "c'est fini"
L'indentation avec un seul espace est déconseillée (on l'a utilisée car facile à lire ici). Un
minimum de trois espaces semble nécessaire (4 sont souvent conseillés).
Attention aux éditeurs de texte évolués Certains insèrent des caractères tabulations sans rien dire et
Python n'apprécie pas toujours le cocktail fourni. On se retrouve avec des erreurs difficiles à
trouver.
Comme ce mécanisme d'indentation est très important en Python, on trouvera des textes
d'explications et conseils Par exemple lire:
https://larlet.fr/david/biologeek/archives/20080511-bonnes-pratiques-et-astuces-python/
https://www.python.org/dev/peps/pep-0008/
Instructions exemples 5: Il existe le type booléen.
>>> t = True # ATTENTION pas true ni TRUE ni TRue ...etc
07/04/16 294/314>>> type (t)
<type 'bool'>
>>> if t: print "C'est vrai" # REMARQUER LE DEUX POINTS
# C'est correct d'avoir un guillemet encadré par des doubles
... else: print "C'est faux" # REMARQUER LE DEUX POINTS
...
C'est vrai
>>>
On peut entrer directement une expression et tester la validité de l'expression.
Exemple d'expression avec la valeur vrai:
>>> 2<3 and 2*3<30
True
Instructions exemples 6: Il existe des opérateurs logiques classiques and, or et not.
Voir: help("or"), help("and'), help("not")
On a mis plusieurs instructions sur une ligne.
>>> u = True; v =False # Deux instructions sur une ligne
>>># ATTENTION pas false ni FALSE ni FAlse ...etc
>>> if u and v: print "u et v sont vrais"
elif u: print "u seul vrai"
elif v: print "v seul vrai"
else: print "u et v sont faux"
...
u seul vrai
>>>
Instructions exemples 7: not est un opérateur unaire qui délivre comme valeur le complément de
son opérande.
>>> u = False
>>> v = not u
>>> print v
True
>>> if not u: print 'u est faux'
...
u est faux
3) Collections
On prendra comme exemples les listes, les t-uples et les chaînes. Ces types de données viennent
s'ajouter à ceux déjà vus. Ces types appartiennent aussi à une catégorie d'objets appelés séquences.
On dit aussi que leurs types sont des types composites. On aura après ce paragraphe les types de
données suivants à notre disposition:
07/04/16 295/314Type Python int tuplelong float bool str list
Commentaires nombre nombre nombre booléen chaine de modifiable non
entier entier taille avec caractères modifiable
quelconque virgule non modifiable
Une variable de type str, list ou tuple dénote un objet. Disposant d'un objet, on va aussi disposer
des méthodes accessibles attachées à l'objet (programmation objet classique avec une notation
pointée).
La fonction len () permet de connaitre le nombre d'éléments de la collection.
Plus de renseignement avec >>>help("len"). On s'apercevra qu'on a un message
"built-in function len"
C'est à dire que la fonction len fait partie d'un ensemble de fonction intégrée (built-in). On n'a pas à
faire d'import pour pouvoir utiliser une fonction built-in..
Il n'est pas possible de changer un élément d'une chaine de caractères ou d'un t-uple. Ces types
sont dits non modifiable (voir les messages d'erreur dans les traces d'exécution ci-dessous). Non
modifiable se traduit par immutable en anglais.
3.1) Initialisation, indiçage, découpage
L'opérateur [] est l'opérateur d'indiçage, il est applicable aux listes, chaînes, t-uples.
Les indices commencent à partir de zéro.
Prenons une liste L, un t-uple t et une chaîne ch.
On peut initialiser ces variables avec l'opérateur d'affectation. Par exemple:
• Pour la liste: L = [10,20,30,40,50,60,70]. Il faut encadrer par des crochets l'ensemble des
valeurs d'initialisation. Le séparateur de valeur est la virgule.
• Pour le t-uple: t = (10,20,30,40,50,60,70). Il faut encadrer par des parenthèses l'ensemble
des valeurs d'initialisation. Le séparateur de valeur est la virgule.
Attention dans le cas d'une seule valeur d'initialisation il faut mettre une virgule après la
valeur. par exemple avec t=(100,). t est initialisé à 100. L'écriture t=(100) est incorrecte.
• Pour la chaîne: ch = "abcdefghijk". Il faut encadrer par des guillements ou des apostrophes
l'ensemble des valeurs d'initialisation. Les valeurs sont placées consécutivement sans
séparateur.
Pour l'initialisation des t-uples examiner la séquence suivante:
>>> t=(100)
>>> t
100 <====== l'expression arithmétique (100) a la valeur 100
>>> type(t)
<type 'int'>
>>> u=(10,)
>>> u
(10,) <====== le t-uple a la valeur (10,)
>>> type (u)
<type 'tuple'>
07/04/16 296/314Création d'un dessin avec plusieurs calques Création d'animations
Sélections, copier/coller et déplacements Créer des bulles pour bandes dessinées
Ecriture de texte. Création de petites animations de texte ou d'image
Dessin de formes simples Effets sur images
Chemins, courbes de Bézier Couleurs, calques et corrections
Outils pour chemins et textes Améliorations d'images par clonages
Outils de détourage Retouches.
Le mécanisme du canevas Mesures et positionnements précis
Couleurs et transparence Composition / Décomposition de canaux en RVB
Outils de transformation: rotation, cage Canaux et sélections
Filtres Python-Fu
L'auteur est un ancien universitaire: ingénieur puis enseignant en école d'ingénieurs et en IUT, il
possède une grande expérience de l'enseignement de l'informatique qu'il a pratiqué sans interruption
pendant toute sa carrière. Le statut particulier de GIMP a attiré son attention. Ce logiciel est une
"vedette" des logiciels de l'informatique. Parmi les logiciels gratuits de traitement d'images il
navigue en tête et se permet même de faire jeu égal avec ceux payants les plus performants du
marché. Sa puissance est largement reconnue. Mais son apprentissage est réputé peu facile. Il a
logiquement donné matière à de très nombreux livres. Cet ouvrage s'inscrit dans cette lignée. Mais
on a voulu s'écarter d'une approche professionnelle d'imagerie pour une découverte de GIMP basée,
à l'instar d'un néophyte essayant le logiciel, sur des essais de fonctionnalités qui se compliquent au
fur et à mesure de l'avance dans la lecture. Le livre comporte donc énormément d'illustrations et
d'exemples. On est à l'opposé d'une documentation de logiciel classique.
GIMP possède des compagnons de travail (langage Python, bibliothèque spécialisée en calcul
scientifique NUMPY, GTK ...). En particulier l'écriture d'utilitaires en langage Python est très facile.
Python est livré avec la distribution de GIMP, nul besoin de l'installer (et de même pour GTK). En
fin d'ouvrage on aborde cet aspect d'une programmation associée. Les essais ont été effectués sur un
système Windows.
Aout 2016 ISBN: 978-2-9558178-0-3
07/04/16 314/314

Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin