Maison  >  Article  >  développement back-end  >  Deux façons de dessiner des images en python

Deux façons de dessiner des images en python

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-06-15 15:49:1543989parcourir

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"

Deux façons de dessiner des images en 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

TURTLE.penup () Ne dessinez pas de graphique lorsque vous vous déplacez, soulevez le stylo et utilisez

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 globale

correspondante :

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)

Deux façons de dessiner des images en python

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")

结果如下:

Deux façons de dessiner des images en python

代码解释:

#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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn