Turtle库是Python中一个很流行的绘图函数库,主要是依据坐标轴来绘制图像,画笔则是一只小海龟,通过控制海龟的在坐标平面的移动,从而绘制各种各样的图像。

前段时间被称为“社会人”的小猪佩奇,算是火遍了大江南北,成为了家喻户晓的名“人”,不蹭下热度可对不起它。

大家见过动画里面的佩奇

python火柴目标检测并返回坐标 python代码画火柴人_python火柴目标检测并返回坐标

手画的佩奇

python火柴目标检测并返回坐标 python代码画火柴人_python火柴目标检测并返回坐标_02

见过用代码画的吗?

def nose(x,y): # 鼻子
    penup() # 提起笔
    goto(x,y) # 定位
    pendown() # 落笔,开始画
    setheading(-30) # 将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南)
    begin_fill() # 准备开始填充图形
    a=0.4
    for i in range(120):
        if 0<=i<30 or 60<=i<90:
            a += 0.08
            left(3) # 向左转3度
            fd(a) # 向前走a的步长
        else:
            a -= 0.08
            left(3)
            fd(a)
    end_fill() # 填充完成

没有?

那今天我们就来看看如何用python代码画小猪佩奇

python火柴目标检测并返回坐标 python代码画火柴人_python_03

由于设计者和python开源社区的共同努力,在python中有大量优秀的库可以被直接调用以高效地完成不同需求的工作。

今天所用的库是turtle(海龟图形)库。这个库不需要用pip install安装,可以直接使用。

1

1.设置画布大小

画布就是turtle为我们展开用于绘图的区域,如下图所示白板

python火柴目标检测并返回坐标 python代码画火柴人_ci_04

我们可以设置它的大小和初始位置

turtle.screensize(canvwidth=None, canvheight=None, bg=None)
参数分别为画布的宽(单位像素), 高, 背景颜色

或者是用

turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
width, height:输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例
startx, starty:这一坐标表示 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心

画布大小设置好之后,我们再设置画笔属性就可以开始画画了

1

2.设置画笔属性


画笔的宽度,颜色、画笔的移动速度

1) turtle.pensize():设置画笔的宽度;
2) turtle.pencolor(); 没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组
3) turtle.speed(speed): 设置画笔移动速度,画笔绘制的速度范围[0,10]整数, 数字越大越快

绘图画笔命令

下面列举几个画画中所涉及的重要函数

就如同现实中画画常用的圆圈,线条,椭圆等图形

以及图形内部的颜色填充

turtle.setheading() 选择绘制方向(0-东、90-北、180-西、270-南)
turtle.goto() 定位坐标
turtle.penup() 提起笔
turtle.pendown() 放下笔
turtle.fd() 向前绘画
turtle.color() 画笔颜色
turtle.fillcolor() 填充颜色
turtle.circle() 画圆

师父领进门,修行在个人,

大家可以在python中试试用这些画画组件函数

开展自己的绘画

1

3.运行结果

画出上半身,

函数画出了头,眼睛,鼻子,耳朵,嘴等部位

python火柴目标检测并返回坐标 python代码画火柴人_python_03

画出下半身

函数画出了小猪的身躯以及为它配上了衣服

python火柴目标检测并返回坐标 python代码画火柴人_python_06

画出部位

函数画出了小猪的四肢和尾巴

python火柴目标检测并返回坐标 python代码画火柴人_python_07

从头到尾,总体来一遍

python火柴目标检测并返回坐标 python代码画火柴人_python火柴目标检测并返回坐标_08

以上就是今天的全部内容,你会用python做什么呢?

有人说,他会画一幅五星红旗,祝愿我们的祖国