Maison > Article > développement back-end > Deux façons de dessiner des images en python
Comment dessiner des images en python ? Nous vous présentons ici deux bibliothèques de dessins Python : Turtle et Matplotlib.
Recommandations associées : "vidéo python"
1 Installer Turtle
Commande d'installation de Python2 :
pip install turtule
Python3 Commande d'installation :
pip3 install turtle
2 concepts de base
2.1 Canvas (canvas)
La toile est la tortue qui élargit la zone de dessin pour nous, nous peut définir sa taille et sa position initiale.
Il existe deux méthodes de canevas couramment utilisées : screensize() et setup().
(1) tortue.screensize(canvwidth=None, canvheight=None, bg=None)
Les paramètres sont la largeur (pixel unité), la hauteur et la couleur d'arrière-plan de la toile
Par exemple :
turtle.screensize(800, 600, "green")
turtle.screensize() #Revenir à la taille par défaut (400, 300)
(2) tortue.setup(width=0.5, height=0.75, startx=None, starty=None)
Paramètres :
largeur, hauteur : lorsque la largeur et la hauteur d'entrée height sont des nombres entiers, ils représentent des pixels ; Lorsqu'il s'agit d'un nombre décimal, il représente la proportion de l'écran de l'ordinateur occupé
(startx, starty) : Cette coordonnée représente la position du coin supérieur gauche de la fenêtre rectangulaire. Si elle est vide, la fenêtre est située au centre de l'écran
comme dans :
turtle.setup(width=0.6, height=0.6) turtle.setup(width=800, height=800, startx=100, starty=100)
2.2 Pinceau
Sur la toile, il y a un axe de coordonnées dont l'origine est le centre du canevas par défaut. Il y a une petite tortue face à la direction positive de l'axe des x sur l'origine des coordonnées.
Ici, nous utilisons deux mots pour décrire la petite tortue : marquer l'origine (position), face à la direction positive de l'axe des x (direction). Dans le dessin de la tortue, la position et la direction sont utilisées pour décrire la direction. état de la petite tortue (pinceau)
(1) Attributs du pinceau
Le pinceau a des attributs tels que la couleur et la largeur du trait.
1) tortue.pensize() : définit la largeur du pinceau ;
2) tortue.pencolor() : aucun paramètre n'est transmis et renvoie la couleur actuelle du pinceau ; paramètres pour définir la couleur du pinceau, vous pouvez Il s'agit d'une chaîne telle que "vert", "rouge" ou un 3-tuple RVB.
>>> pencolor('brown') >>> tup = (0.2, 0.8, 0.55) >>> pencolor(tup) >>> pencolor() '#33cc8c'
3) tortue.speed(speed) : définissez la vitesse de déplacement du pinceau, la plage de vitesse de dessin du pinceau est [0,10] entier, plus le nombre est grand, plus rapide
(2) Commandes de dessin
Il existe de nombreuses commandes pour contrôler le dessin des tortues. Ces commandes peuvent être divisées en 3 types : les commandes de mouvement, les commandes de contrôle du pinceau et les commandes de contrôle globales
Commande Brush Sport :
commande Explication TURTLE.Forwards (distance) Déplacer la distance en pixels longue
Turtle.backWard (Distance) Déplacez la longueur du pixel de distance dans la direction opposée du pinceau °turtle.pendown() pour dessiner des graphiques lors d'un déplacement, et la valeur par défaut est de dessiner
turtle.goto(x,y) Déplacez le pinceau vers la position avec les coordonnées x et y
Pinceau TURTLE.Speed (Speed) pour dessiner à un autre endroit
Turtle.circle () Dessinez le cercle et le rayon est positif (négatif), indiquant que le cercle est dessiné sur le. gauche (droite) du pinceau
Commande de contrôle de la douleur :
>
Commande
Explication
TURTLE.Pensize (width) La largeur du graphique
TURTLE.PenColor () couleur du pinceau turtle.fillcolor(colorstring) . hideturtle() Masquer l'affichage de la flèche ; TURTLE.Showturtle () La commande de contrôle globalecorrespondante :
commande
commande> Effacer la fenêtre de la tortue, mais la position et l'état de la tortue ne changeront pas
turtle.reset() Effacer la fenêtre et réinitialiser le statut de la tortue Pour l'état de départ
TURTLE.Undo () pour révoquer l'action TURTLE précédente
TURTLE.ISVISISible () Revenir à la TURTLE actuelle si
STAMP () Copier le graphique actuel
turtle.write(s[,font=("font-name",font_size,"font_type")]) 写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项。
例子:
import turtle def drawSnake(rad, angle, len, neckrad): for _ in range(len): turtle.circle(rad, angle) turtle.circle(-rad, angle) turtle.circle(rad, angle/2) turtle.forward(rad/2) # 直线前进 turtle.circle(neckrad, 180) turtle.forward(rad/4) if __name__ == "__main__": turtle.setup(1500, 1400, 0, 0) turtle.pensize(30) # 画笔尺寸 turtle.pencolor("green") turtle.seth(-40) # 前进的方向 drawSnake(70, 80, 2, 15)
Matpliotlib
前提
linux ubuntu 下需安装下面三个包:
Numpy, Scipy,Matplotlib
分别输入下面的代码进行安装:
pip install numpy pip install scipy sudo apt-get install python-matplotlib
测试是否安装成功
python >>> import pylab
如果没有报错则安装成功
开始画图
1. 画最简单的直线图
代码如下:
import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt.plot(x,y) plt.savefig("easyplot.jpg")
结果如下:
代码解释:
#x轴,y轴 x=[0,1] y=[0,1] #创建绘图对象 plt.figure() #在当前绘图对象进行绘图(两个参数是x,y轴的数据) plt.plot(x,y) #保存图象 plt.savefig("easyplot.jpg")
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!