Turtle绘制带颜色和字体的图形(Python3)
2017-10-09 17:39
2386 查看
在Python中有很多编写图形程序的方法,一个简单的启动图形化程序设计的方法是使用Python内嵌的Turtle模块。Turtle是Python内嵌的绘制线、圆以及其他形状(包括文本)的图形模块。它很容易学习并且使用简单。
一个Turtle实际上是一个对象,在导入Turtle模块时,就创建了对象,然后,可以调用Turtle对象的各种方法完成不同的操作。
当创建一个Turtle对象时,它的位置被设定在(0,0)处——窗口的中心,而且它的方向被设置为向右。Turtle模块用笔来绘制图形。默认情况下,笔是向下的(就像真实的笔尖触碰着一张纸)。如果笔是向下的,那么当移动Turtle的时候,它就会绘制出一条从当前位置到新位置的线。
下面两个表是控制笔的绘制状态的方法和移动Turtle的方法:
circle方法有三个参数:radius是必需的,extent和step是可有可无的。extent是一个角度,它决定绘制圆的哪一部分。step决定使用的阶数。如果step是3/4/5/6……,那么circle方法将绘制一个里面包含被圆括住的的三边、四边、五边、六边或更多边形(即正三角形、正方形、五边形、六边形等)。如果不指定阶数,那么circle方法就只画一个圆。
下面表是Turtle笔的颜色、填充和绘制方法:
代码和执行实例:
(如果我理解有错误,希望大佬们一定要指出来
,不要误导了其他人才好)
附上面显示的彩色图形的完整代码:
补充:
import turtle:导入Turtle模块中定义的所有函数,这样就可以使用所有函数。
penup()和pendown():设置抬起或放下笔以控制移动笔时是否绘制。刚学习时可能对这两个函数有点晕,我就这样理解:penup,抬起笔,就是我抬起笔来做动作,这时候笔没有挨着纸,所以之后移动时并不会画图形;pendown,落下笔,就是我现在将笔挨着纸了,一旦移动一步就会有个画出来的形状。
forward():向箭头指的方向画形状
write():写一个文本字符串
Turtle的done()命令可以导致程序暂停直到用户关闭Python Turtle图形化窗口,它的目的是给用户时间来查看图形。没有这一行,图形窗口会在程序完成时立即关闭。
=========================================================================================
2017/10/9 20:45更新
先上代码:
执行结果:
turtle.begin_fill():在填充图形前访问这个方法
turtle.end_fill():在最后调用begin_fill之前填充绘制的图形
turtle.color(c):设置笔的颜色
turtle.fillcolor(c):设置笔填充颜色
所以:
在begin_fill()和end_fill()之间设置的turtle.color(c)和turtle.fillcolor(c)都可以作为填充色,例如黑色的圆。
将turtle.color(c)提到前面,不写begin_fill()和end_fill(),则就不会实现填充,例如红边的三角形。
将turtle.color(c)提到前面,并在begin_fill()和end_fill()之间设置turtle.fillcolor(c),那么图形的边框和内部填充颜色分别对应于color和fillcolor,例如紫边框灰色四边形。
在begin_fill()和end_fill()之间设置不同的turtle.color(c)和turtle.fillcolor(c),则以排序在后面的为准去填充图形,例如紫色五边形和黄边框绿色六边形。五边形的代码是先fillcolor黄色,然后color紫色覆盖,所以最终填充为紫色。六边形是先color黄色,这样就应该默认用黄色去填充,结果后面接着fillcolor绿色,所以最终填充为绿色。
所以,我上面的猜想不是很正确,刚处于学习阶段,有些思考还不到位~~~~~~
一个Turtle实际上是一个对象,在导入Turtle模块时,就创建了对象,然后,可以调用Turtle对象的各种方法完成不同的操作。
当创建一个Turtle对象时,它的位置被设定在(0,0)处——窗口的中心,而且它的方向被设置为向右。Turtle模块用笔来绘制图形。默认情况下,笔是向下的(就像真实的笔尖触碰着一张纸)。如果笔是向下的,那么当移动Turtle的时候,它就会绘制出一条从当前位置到新位置的线。
下面两个表是控制笔的绘制状态的方法和移动Turtle的方法:
circle方法有三个参数:radius是必需的,extent和step是可有可无的。extent是一个角度,它决定绘制圆的哪一部分。step决定使用的阶数。如果step是3/4/5/6……,那么circle方法将绘制一个里面包含被圆括住的的三边、四边、五边、六边或更多边形(即正三角形、正方形、五边形、六边形等)。如果不指定阶数,那么circle方法就只画一个圆。
下面表是Turtle笔的颜色、填充和绘制方法:
代码和执行实例:
(如果我理解有错误,希望大佬们一定要指出来
,不要误导了其他人才好)
附上面显示的彩色图形的完整代码:
import turtle turtle.pensize(3) turtle.penup() turtle.goto(-100, -50) turtle.pendown() turtle.begin_fill() turtle.color("red") turtle.circle(40, steps=3) turtle.end_fill() turtle.penup() turtle.goto(0, -50) turtle.pendown() turtle.begin_fill() turtle.color("yellow") turtle.circle(50) turtle.end_fill() turtle.penup() turtle.goto(100, -50) turtle.pendown() turtle.begin_fill() turtle.fillcolor("green") turtle.circle(40, steps=6) turtle.end_fill() turtle.penup() turtle.goto(-50, 100) turtle.pendown() turtle.color("blue") turtle.write("Colorful Shapes", font = ("Times", 18,"bold")) turtle.end_fill() turtle.hideturtle() turtle.done()
补充:
import turtle:导入Turtle模块中定义的所有函数,这样就可以使用所有函数。
penup()和pendown():设置抬起或放下笔以控制移动笔时是否绘制。刚学习时可能对这两个函数有点晕,我就这样理解:penup,抬起笔,就是我抬起笔来做动作,这时候笔没有挨着纸,所以之后移动时并不会画图形;pendown,落下笔,就是我现在将笔挨着纸了,一旦移动一步就会有个画出来的形状。
forward():向箭头指的方向画形状
write():写一个文本字符串
Turtle的done()命令可以导致程序暂停直到用户关闭Python Turtle图形化窗口,它的目的是给用户时间来查看图形。没有这一行,图形窗口会在程序完成时立即关闭。
=========================================================================================
2017/10/9 20:45更新
先上代码:
# -*- coding: utf-8 -*- """ 绘制带颜色和文字的图形 """ import turtle turtle.penup() turtle.goto(-200, -50) turtle.pendown() turtle.begin_fill() #开始填充 turtle.color("black") #填充黑色 turtle.circle(40) turtle.end_fill() #填充结束 turtle.color("red") #画笔颜色为红色 turtle.penup() turtle.goto(-100, -50) turtle.pendown() turtle.circle(40, steps=3) turtle.color("purple") #画笔颜色为紫色 turtle.penup() turtle.goto(0, -50) turtle.pendown() turtle.begin_fill() #开始填充 turtle.fillcolor("gray") #填充灰色 turtle.circle(40, steps=4) turtle.end_fill() #填充结束 turtle.penup() turtle.goto(100, -50) turtle.pendown() turtle.begin_fill() #开始填充 turtle.fillcolor("yellow") #fillcolor为黄色 turtle.color("purple") #color为紫色 turtle.circle(40, steps=5) turtle.end_fill() #填充结束 turtle.penup() turtle.goto(200, -50) turtle.pendown() turtle.begin_fill() #开始填充 turtle.color("yellow") #color为黄色 turtle.fillcolor("green") #fillcolor为绿色 turtle.circle(40, steps=6) turtle.end_fill() #填充结束 turtle.color("blue") turtle.penup() turtle.goto(-50, 100) turtle.pendown() turtle.write("Colorful Shapes", font = ("Times", 18, "bold")) #隐藏箭头 turtle.hideturtle() #暂停界面,使得用户能够看见展示的图形 turtle.done()
执行结果:
turtle.begin_fill():在填充图形前访问这个方法
turtle.end_fill():在最后调用begin_fill之前填充绘制的图形
turtle.color(c):设置笔的颜色
turtle.fillcolor(c):设置笔填充颜色
所以:
在begin_fill()和end_fill()之间设置的turtle.color(c)和turtle.fillcolor(c)都可以作为填充色,例如黑色的圆。
将turtle.color(c)提到前面,不写begin_fill()和end_fill(),则就不会实现填充,例如红边的三角形。
将turtle.color(c)提到前面,并在begin_fill()和end_fill()之间设置turtle.fillcolor(c),那么图形的边框和内部填充颜色分别对应于color和fillcolor,例如紫边框灰色四边形。
在begin_fill()和end_fill()之间设置不同的turtle.color(c)和turtle.fillcolor(c),则以排序在后面的为准去填充图形,例如紫色五边形和黄边框绿色六边形。五边形的代码是先fillcolor黄色,然后color紫色覆盖,所以最终填充为紫色。六边形是先color黄色,这样就应该默认用黄色去填充,结果后面接着fillcolor绿色,所以最终填充为绿色。
所以,我上面的猜想不是很正确,刚处于学习阶段,有些思考还不到位~~~~~~
相关文章推荐
- 使用Python中的Turtle库绘制简单的图形
- Python图形工具turtle绘制国际象棋棋盘
- Python3使用turtle绘制超立方体图形示例
- python中的turtle库绘制图形
- 孙鑫视频教程第十课——图形的绘制、颜色对话框、字体对话框、改变控件的字体及颜色、在对话框中显示位图
- 图形的绘制,设置对话框,颜色对话框,字体对话框的创建
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- 使用python中turtle库绘制图形
- 利用python中的turtle库绘制图形
- 170619 利用python读取wav文件及声音图形的绘制
- 【Python基础】1.4.3 Turtle库绘制多边形实例
- iOS 界面上绘制不同字体 颜色 大小的字符串
- 【基于C++和Python的Opencv3学习笔记之基本图形的绘制】
- Python学习12_基本图形的绘制
- Python使用matplotlib库绘制过图形
- Java读书笔记11 图形程序——颜色 字体 图像
- python数字图像处理(12):基本图形的绘制
- 利用Python的turtle库绘制玫瑰
- Python3 Tkinter基础 Label 让字体显示在图片的上方 设置字体颜色fg,字体字体大小font
- Python基本语法熟悉,turtle图形函数画图