Aller au contenu

ConTeXt/Utiliser Metapost (MPgraphic)/Commencer à dessiner avec MPgraphic

Un livre de Wikilivres.

ConTeXt — Partie V : Graphismes et outils avancés Images et figuresUtiliser MetaPost (MPgraphic)Commencer à dessiner avec MPgraphicGraphisme 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.


Quatre icônes dessinées avec MPGraphics

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 :

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.