ConTeXt/Utiliser Metapost (MPgraphic)/Commencer à dessiner avec MPgraphic
ConTeXt — Partie V : Graphismes et outils avancés Images et figures • Utiliser MetaPost (MPgraphic) • Commencer à dessiner avec MPgraphic • Graphisme avancé avec MetaFun
Dans la page précédente, nous avons vu comment définir des MPgraphic pour dessiner des encadrés complets (fond, bandeau, bordure).
Cette page propose un premier contact pratique avec le dessin vectoriel : formes simples, couleurs, flèches, repères et icônes éditoriales utilisables dans un véritable manuel ConTeXt.
Objectifs de cette page
- Tracer des formes simples avec
\startMPcode. - Comprendre comment jouer avec les couleurs, les traits et les repères.
- Découvrir des icônes éditoriales simples (ampoule, avertissement, crayon, bloc-notes, main) dessinées en MetaPost.
- Préparer la transition vers le graphisme avancé avec MetaFun.
1. Rappel : dessiner avec \startMPcode
[modifier | modifier le wikicode]La façon la plus directe d’utiliser MetaPost dans ConTeXt est d’écrire du code entre \startMPcode et \stopMPcode.
Exemple minimal :
\starttext
\startMPcode
draw fullcircle scaled 2cm withcolor "darkred";
\stopMPcode
\stoptext
Ce code produit un disque rouge de 2 cm de diamètre, centré dans la zone graphique.
Astuce : cette approche est idéale pour tester rapidement une idée ou dessiner une figure isolée.
Pour des éléments réutilisables, on préférera un MPgraphic nommé (voir plus bas).
2. Jouer avec les formes et les couleurs
[modifier | modifier le wikicode]Les exemples suivants montrent comment combiner formes simples, couleurs et traits.
2.1. Rectangle rempli
[modifier | modifier le wikicode]\startMPcode
path R ;
R := unitsquare xscaled 4cm yscaled 2cm ;
fill R withcolor (.9white) ;
draw R withpen pencircle scaled 0.6bp
withcolor "darkblue" ;
\stopMPcode
2.2. Flèche incurvée
[modifier | modifier le wikicode]\startMPcode
drawarrow (0,0) .. controls (1cm,1cm) .. (2cm,0)
withpen pencircle scaled 0.8bp
withcolor "darkred";
\stopMPcode
2.3. Axes gradués
[modifier | modifier le wikicode]\startMPcode
u := 1cm;
drawarrow (0,0)--(4u,0);
drawarrow (0,0)--(0,3u);
for i=1 upto 4:
draw (i*u,-0.1u)--(i*u,0.1u);
endfor;
\stopMPcode
3. Icônes éditoriales simples avec MetaPost
[modifier | modifier le wikicode]Dans un manuel ou un livre pédagogique, on utilise fréquemment des pictogrammes :
- 💡 ampoule : “idée”, “objectif”, “concept clé” ;
- ⚠️ triangle : “attention”, “avertissement” ;
- ✏️ crayon : “exercice”, “à vous de jouer” ;
- 🗒️ bloc-notes : “mémo”, “rappel important” ;
- ✋ main : “action à effectuer”, “manipulation”.
Ces icônes peuvent être intégralement dessinées en MetaPost, avec un style homogène, cohérent avec le reste du document ConTeXt.
3.1. Définir des MPgraphic d’icônes
[modifier | modifier le wikicode]Le code suivant définit cinq MPgraphic nommés :
% Couleur violette "éditoriale"
color IconColor ;
IconColor := (0.545,0.360,0.965) ; % ≈ #8B5CF6
% 1. Ampoule (idée / objectif)
\startuseMPgraphic{IconeAmpoule}
numeric lw ; lw := 3 ;
draw fullcircle scaled 2cm shifted (0,0)
withcolor IconColor withpen pencircle scaled lw ;
draw ( -0.6cm, -0.1cm ) -- ( -0.6cm, -0.6cm ) --
( 0.6cm, -0.6cm ) -- ( 0.6cm, -0.1cm )
withcolor IconColor withpen pencircle scaled lw ;
draw ( -0.3cm, 0 ) -- ( -0.1cm, -0.2cm ) --
( 0cm, 0 ) -- ( 0.1cm, -0.2cm ) --
( 0.3cm, 0 )
withcolor IconColor withpen pencircle scaled lw ;
\stopuseMPgraphic
% 2. Main stylisée (action / manipulation)
\startuseMPgraphic{IconeMain}
numeric lw ; lw := 3 ;
path p ;
p := ( -0.5cm, -0.6cm ) --
( -0.5cm, 0.4cm ) --
( -0.2cm, 0.8cm ) --
( 0.1cm, 0.4cm ) --
( 0.4cm, 0.8cm ) --
( 0.5cm, 0.4cm ) --
( 0.5cm, -0.6cm ) -- cycle ;
draw p withcolor IconColor withpen pencircle scaled lw ;
\stopuseMPgraphic
% 3. Triangle d’avertissement
\startuseMPgraphic{IconeAvertissement}
numeric lw ; lw := 3 ;
draw (0,1cm) -- ( -1cm,-1cm ) --
( 1cm,-1cm ) -- cycle
withcolor IconColor withpen pencircle scaled lw ;
draw (0,0.3cm) -- (0,-0.3cm)
withcolor IconColor withpen pencircle scaled lw ;
fill fullcircle scaled 0.18cm shifted (0,-0.6cm)
withcolor IconColor ;
\stopuseMPgraphic
% 4. Crayon (écriture / exercice)
\startuseMPgraphic{IconeCrayon}
numeric lw ; lw := 3 ;
draw ( -1cm,0 ) -- ( 1cm,0 )
withpen pencircle scaled lw withcolor IconColor ;
draw ( 1cm,0 ) -- ( 1.4cm,0.3cm ) --
( 1cm,0.6cm ) -- cycle
withpen pencircle scaled lw withcolor IconColor ;
draw ( -1cm,0 ) -- ( -1.3cm,0.3cm ) --
( -1cm,0.6cm ) -- cycle
withpen pencircle scaled lw withcolor IconColor ;
\stopuseMPgraphic
% 5. Bloc-notes (mémo / rappel)
\startuseMPgraphic{IconeBlocNotes}
numeric lw ; lw := 3 ;
draw ( -1cm,-1cm ) -- (1cm,-1cm ) --
( 1cm,1cm ) -- ( -1cm,1cm ) -- cycle
withpen pencircle scaled lw withcolor IconColor ;
for y = -0.5cm step 0.5cm until 0.5cm:
draw ( -0.8cm, y ) -- ( 0.8cm, y )
withpen pencircle scaled lw withcolor IconColor ;
endfor ;
\stopuseMPgraphic
3.2. Utiliser les icônes dans un document
[modifier | modifier le wikicode]Une fois définies, ces icônes peuvent être insérées comme n’importe quel MPgraphic :
\starttext
\useMPgraphic{IconeAmpoule}
\blank[medium]
\useMPgraphic{IconeAvertissement}
\blank[medium]
\useMPgraphic{IconeCrayon}
\blank[medium]
\useMPgraphic{IconeBlocNotes}
\blank[medium]
\useMPgraphic{IconeMain}
\stoptext
On peut également les intégrer dans des bandeaux pédagogiques (“Objectifs”, “Astuce”, “Attention”) en les plaçant dans le coin gauche du cadre.

4. Galerie : aperçu des icônes MetaPost
[modifier | modifier le wikicode]Après téléversement des PNG correspondants sur Wikimedia Commons, on peut regrouper tous les pictogrammes dans une seule galerie :
-
Idée / Objectif
-
Action / Manipulation
-
Avertissement / Attention
-
Écriture / Exercice
-
Bloc-notes / Mémo
5. Pour aller plus loin
[modifier | modifier le wikicode]La page suivante approfondira le graphisme avancé :
- flèches décoratives et paramétriques ;
- chemins décorés (pointillés, serpentines, motifs) ;
- ombres et transparence (MetaFun) ;
- overlays sophistiqués à l’échelle de la page ;
- bibliothèques d’icônes et de cadres réutilisables.