Passons à la pratique

Nous allons transformer en niveau de gris une image de 100 pixels sur 100 pixels, il y aura donc $ 100\times100=10000$ pixels à modifier. Vous pouvez trouver l'image utilisée dans l'exemple suivant à l'adresse:
http://xlogo.free.fr/images/transfo.png
Voici comment nous allons procéder: nous allons afficher l'image avec le coin supérieur gauche en [0 0]. Ensuite, la tortue va décrire les 100 premiers pixels de la première ligne puis les 100 premiers de la deuxième etc... A chaque fois, on rapatrie la couleur du pixel avec trouvecouleur puis on modifie la couleur en faisant la moyenne des trois composantes [r g b]. Voici le code correspondant:
(N'oubliez pas de changer le chemin dans la procédure transfo)

pour li :liste
# renvoie la moyenne des trois nombres [r g b]
donne "r premier :liste
donne "liste sp :liste
donne "g premier :liste
donne "liste sp :liste
donne "b premier :liste
donne "b arrondi (:r+:g+:b)/3
retourne ph liste :b :b :b
fin

pour niveaudegris :c
si :y=-100 [stop]
si :c=100 [donne "c 0 donne "y  :y-1]
# On prend pour couleur de crayon la couleur "moyennée" du pixel suivant
fcc li tc liste :c :y
# On repasse en niveau de gris
point liste :c :y
niveaudegris :c+1
fin

pour transfo
# Vous devez changer le chemin vers l'image transfo.png 
# Ex: chargeimage [c:\mes_images\transfo.png] 

ve ct chargeimage [/home/loic/transfo.png] donne "y 0 niveaudegris 0
fin
Figure 6: XLOGO fait de la retouche d'images....
\includegraphics{images/transfo.eps}



Loïc 2005-08-16