5.turtle库
- turtle库是一个有趣的图形绘制库,也是Python标准库之一,使用时需先用命令导入turtle库:
import turtle
或from turtle import *
- turtle(海龟)图形绘制的方法可以想象为一个虚拟的小海龟,在画布上以坐标轴原点(0,0)位置未开始点,根据一组函数指令的控制来移动,从而在它爬行的路径上绘制出图形。
turtle库部分常用函数
- 窗体设置
- setup()
- 画布设置
- screensize()
- bgcolor()
- reset()
- clear()
- 小海龟
- 画笔属性
- colormode()
- pensize() 或 width()
- pencolor()
- fillcolor()
- color()
- 画笔绘图状态
- penup() 或 up() 或 pu()
- pendown() 或 down() 或 pd()
- begin_fill()
- end_fill()
- 移动绘制
- forward() 或 fd()
- backward() 或 back()
- right() 或 rt()
- left() 或 lt()
- speed()
- circle()
- goto() 或 setpos() 或 setposition()
- 小海龟状态
- position() 或 pos()
- distance()
- 画笔属性
绘制边长为100单位(像素)的正方形
#E1-2-1.py
import turtle
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
#E1-2-2.py
from turtle import *
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
#E1-2-3.py
from turtle import *
for x in range(4):
forward(100)
left(90)
绘制边长为100单位(像素)的正方形及半径为50的圆
画笔抬起:penup() 或 up()
画笔落下:pendown() 或 down()
向前移动:forward()
移动到指定坐标位置:goto(x,y)
转角绘图:le() 或 right() 或 setup()
绘制圆形:circle()
#E1-3-1.py
import turtle
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90) #绘制正方形
turtle.penup() #画笔抬起
turtle.forward(200) #向前移动200,但不绘制线条
turtle.pendown() #画笔落下
turtle.circle(50) #绘制半径为50的圆
#E1-3-2.py
from turtle import *
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
penup()
forward(200)
pendown()
circle(50)
#E1-3-2.py
from turtle import *
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
penup()
goto(200,0) #将画笔移动到坐标(200,0)的位置
pendown()
circle(50)
#E1-3-4.py
from turtle import *
forward(100)
seth(90) #设置当前画笔朝向为90度(相对于坐标轴)
forward(100)
seth(180)
forward(100)
seth(270) #或seth(-90)
forward(100)
seth(0)
penup()
goto(200,0)
pendown()
circle(50)
绘制半径为50和100的同心圆
#E1-4-1.py
from turtle import *
circle(50) #绘制内圆
penup()
goto(0,-50) #画笔移动到外圆绘制的起点
pendown()
circle(100) #绘制外圆
绘制内圆边框为红色、外圆边框为绿色的同心圆,画布为黑色
窗体设置:
- 设置窗体大小:setup()
画布设置: - 设置画布大小:screensize()
- 画布背景色:bgcolor()
画笔设置: - 画笔宽度:pensize()
- 画笔颜色:pencolor()
#E1-5-1.py
from turtle import *
setup(500,500) #窗体大小宽500,高500像素
screensize(800,600,"black") #画布宽800,高600,背景黑色
''' screensize(800,600,"black") 也可写成
screensize(800,600)
bgcolor("black")
'''
pensize(3) #笔粗3像素
pencolor("red")
circle()
penup()
goto(0,-50)
pendown()
pencolor("green") #绿色画笔
circle(100)
绘制内圆边框为红色且填充为黄色、外圆边框为绿色的同心圆,画布为黑色
画笔线条颜色:pencolor()
形状填充颜色:llcolor()
画笔线条和形状填充颜色:color()
开始填充颜色:begin_ll()
结束填充颜色:end_ll()
画笔移动速度:speed()
#E1-6-1.py
from turtle import *
setup(500,500)
screensize(800,600,"black")
pensize(3)
color("red","yellow") #红色画笔和黄色填充色
'''也可以写成
pencolor("red")
llcolor("yellow")
'''
begin_fill() #开始填充
circle(50)
end_fill() #结束填充
penup()
goto(0,-50)
pendown()
pencolor("green")
speed(10) #画笔移动 速度
circle(100)
RGB颜色模式是工业界的一种颜色标准,也是目前电子设备通用的颜色模式。
RGB颜色“三原色”原理:
通过打在显示屏上红(R)、绿(G)、蓝(B)三色电子光束的强弱变化,相互叠加来得到各式各样的颜色。
颜色 | RGB |
---|---|
黑 | (0,0,0) |
白 | (255,255,255) |
红 | (255,0,0) |
绿 | (0,255,0) |
蓝 | (0,0,255) |
黄 | (255,255,0) |
粉 | (255,0,255) |
青 | (0,255,255) |
Python中几种常用颜色的4种表示形式
颜色 | 颜色英文 | RGB的整数值 | RGB的小数值 | 十六进制串 |
---|---|---|---|---|
黑 | black | 0,0,0 | (0,0,0) | #000000 |
白 | white | 255,255,255 | (255,255,255) | #FFFFFF |
红 | red | 255,0,0 | (255,0,0) | #FF0000 |
绿 | green | 0,255,0 | (0,255,0) | #00FF00 |
蓝 | blue | 0,0,255 | (0,0,255) | #0000FF |
黄 | yellow | 255,255,0 | (255,255,0) | #FFFF00 |
金 | gold | 255,215,0 | (255,215,0) | #FFD700 |
粉 | violet | 238,130,238 | (238,130,238) | #EE82EE |
紫 | purple | 160,32,240 | (160,32,240) | #A020F0 |
红色
- pencolor ("red")
- pencolor(255,0,0)
- pencolor(1,0,0)
- pencolor("#FF0000")
绿色 - pencolor (“green")
- pencolor(0,255,0)
- pencolor(0,1,0)
- pencolor("#00FF00")
colormode(1.0 [255]):
- 设置画笔颜色模式,颜色模式取值1.0或255,
colormode为1.0时r,g,b取值范围为[0,1.0]的小数,
colormode为255时r,g,b取范围为[0,255]的整数。 - 默认为colormode(1.0)。
- 无参数时返回当前颜色模式值。
- 例:colormode(255)
绘制内圆边框为红色且填充为紫色、外圆边框为绿色的同心圆,画布为黑色
#E1-6-2.py
from turtle import *
setup(500,500)
screensize(800,600,"black")
pensize(3)
colormode(255)
pencolor("red")
fillcolor(123,78,189)
begin_fill()
circle(50)
end_fill()
penup()
goto(0,-50)
pendown()
pencolor("green")
speed(20)
circle(100)
有趣的图像
#E1-8.py
from turtle import *
for x in range(100):
forward(x)
left(90)
reset()
for x in range(200):
forward(x)
left(91)
#E1-9.py
from turtle import *
bgcolor("black")
pensize(3)
pencolor("red")
for x in range(100):
circle(x)
left(91)
网友评论