Pour dessiner dans une image :
>>> import ImageDraw
Puis, instancier un objet Draw :
>>> draw = ImageDraw.Draw(i)
où i est l'objet Image dans lequel on souhaite dessiner. Par exemple, on aurait pu faire précéder les deux lignes de codes ci-dessus par :
>>> import Image >>> i = Image.new('L',(128,128))
Les méthodes applicables à un objet Draw sont :
Dessine un arc, i.e. la partie comprise entre les angles start et end de l'ellipse inscrite dans la bbox donnée. Attention, dans cette méthode, les angles augmentent dans le sens des aiguilles d'une montre, contrairement à la convention habituelle de PIL. Par exemple,
>>> import Image, ImageDraw >>> i=Image.new('L',(512,512)) >>> draw = ImageDraw.Draw(i) >>> draw.arc((10,10,110,110),0,180,fill=128) >>> i.show(command = 'eog')
dessinera un arc circulaire, centré en (100,100), et allant de l'Est au Sud-Ouest. Si l'argument fill est fournis, l'arc aura la couleur spécifiée (par défaut, l'arc est de couleur blanche).
Dessine un arc en reliant les extrémités. L'argument fill détermine la couleur à l'intérieur de la surface dessinée. Pour changer la couleur du bord de la surface, utiliser l'argument outline.
Notons pour finir que les lignes gauche et haut de la bbox feront partie de l'eclipse, mais pas les lignes bas et droite : une bbox (0,0,10,10) génère un cercle de diamètre 10.
Dessine des segments. L'argument L contient les points extrémaux des segments ; cela peut être :
>>> draw.line(((60,60), (90,60), (90,90), (60,90), (60,60)))
dessinera un carré de 30 pixels de côté.
>>> draw.line((10,20,100,20))
Ces valeurs seront regroupées deux par deux, pour se retrouver dans la situation ci-dessus.
Dessine une part de tarte. Procède comme la méthode arc, mais relie les deux points extrémaux de l'arc au centre. Les arguments fill et outline marchent de la même manière que dans la méthode chord().
Fixe la couleur du point xy à fill (la couleur par défaut est une fois encore le blanc).
Fonctionne quasiment comme la méthode line(). La différence est que le dernier point est ici connecté au premier (pas besoin de le préciser). Les options marchent comme dans ce qui précède.
>>> draw.polygon([(60,60), (90,60), (90,90), (60,90)], fill="red", outline="green")
Ecrit le texte message dans l'image, tel que son coin supérieur gauche se retrouve en position xy. La couleur du texte est par défaut le blanc ; elle peut être changée avec l'argument fill. Par défaut, la police est serif de taille 11 pixels : l'argument font sert à changer cela (c.f. le module ImageFont).
Renvoie la taille (un couple longueur,largeur) occupée, en pixels, par le texte message dans l'image considérée. S'il n'y a pas d'argument font, la taille retournée correspondra à celle d'un texte écrit dans la pocile par défaut. Changer cet argument pour connaître la taille du texte dans une autre police.