关于Python使用turtle库画任意图的问题


Posted in Python onApril 01, 2022

环境配置

系统:Windows10

版本:python 3.8

Turtle扫盲

1.绘图窗体的设置

turtle.setup(width, height, startx, starty)

startx , starty 缺省在屏幕中心。

2.画笔控制函数

turtle.penup() #别名 turtle.pu(),抬起画笔
turtle.pendown() #别名 turtle.pd(),落下画笔
turtle.pensize(width) #别名 turtle.width(width),画笔宽度
turtle.pencolor(color) #color为颜色字符串或r,g,b值,画笔颜色

注:

颜色字符串 : turtle.pencolor("purple")
RGB的小数值: turtle.pencolor(0.63, 0.13, 0.94)
RGB的元组值: turtle.pencolor((0.63,0.13,0.94))

3.形状绘制函数

turtle.forward(d) #别名 turtle.fd(d),直线前进d(可为负数)个像素
turtle.circle(r, extent=None) #根据半径r绘制extent角度的弧形
turtle.setheading(angle) #别名 turtle.seth(angle),angle: 行进方向的绝对角度
turtle.left(angle) #海龟向左转,angle: 在海龟当前行进方向上旋转的角度
turtle.right(angle) #海龟向右转
turtle.goto(x, y) # 绝对坐标

Turtle画任意图

1.经典案例

import turtle as t
t.setup(650,650,200,200)
t.speed(10) # 画笔的速度,1到10递增
t.penup()
t.fd(-250)
t.pendown()
t.pensize(25)
t.pencolor("purple")
t.seth(-40)
for i in range(4):
	t.circle(40, 80)
	t.circle(-40, 80)
t.circle(40, 80/2)
t.fd(40)
t.circle(16, 180)
t.fd(40 * 2/3)
t.mainloop() # 保持界面显示,后面的语句失效

2.画任意图片

import turtle as t
import cv2
t.getscreen().colormode(255)
img1 = cv2.imread('2.jpg')[0: -2: 2] #填入你的图片绝对路径,建议100kb以下。
width = len(img1[0])
height = len(img1)
t.setup(width=width / 2 + 100, height=height + 100)
t.speed(8) 
t.pu()
t.goto(-width / 4 + 10, height / 2 - 10)
t.pd()
t.tracer(2000)
for k1, i in enumerate(img1):
    for j in i[::2]:
        t.pencolor((j[0], j[1], j[2]))
        t.fd(1)
    t.pu()
    t.goto(-width / 4 + 10, height / 2 - 10 - k1 - 1)
    t.pd()
t.done() # 保持界面显示

到此这篇关于Python turtle库画任意图的文章就介绍到这了,更多相关Python turtle库画图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python解析xml文件实例分享
Dec 04 Python
Python使用metaclass实现Singleton模式的方法
May 05 Python
Python学习小技巧之列表项的排序
May 20 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
基于python的Paxos算法实现
Jul 03 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
Numpy将二维数组添加到空数组的实现
Dec 05 Python
Django models filter筛选条件详解
Mar 16 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 Python
通过实例简单了解Python sys.argv[]使用方法
Aug 04 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 Python
python套接字socket通信
python文件与路径操作神器 pathlib
Python下载商品数据并连接数据库且保存数据
Python turtle编写简单的球类小游戏
Pandas实现DataFrame的简单运算、统计与排序
Mar 31 #Python
Pandas数据结构之Series的使用
Mar 31 #Python
python获取字符串中的email
Mar 31 #Python
You might like
一棵php的类树(支持无限分类)
2006/10/09 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
ES6中字符串的使用方法扩展
2019/06/04 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
浅析Git版本控制器使用
2017/12/10 Python
python中正则表达式的使用方法
2018/02/25 Python
django_orm查询性能优化方法
2018/08/20 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
学生干部学习的自我评价
2014/02/18 职场文书
目标管理责任书
2014/04/15 职场文书
团委竞选演讲稿
2014/04/24 职场文书
实习生评语
2014/04/26 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
如何写新闻稿
2015/07/18 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js