关于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基于checksum计算文件是否相同的方法
Jul 09 Python
Python验证企业工商注册码
Oct 25 Python
python读取Excel实例详解
Aug 17 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
pyqt5移动鼠标显示坐标的方法
Jun 21 Python
pytorch 准备、训练和测试自己的图片数据的方法
Jan 10 Python
Python hashlib常见摘要算法详解
Jan 13 Python
python excel多行合并的方法
Dec 09 Python
Python利用socket模块开发简单的端口扫描工具的实现
Jan 27 Python
Python基础之条件语句详解
Jun 16 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 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
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
什么情况下可以不写PHP的闭合标签“?>”
2014/08/28 PHP
php实现插入排序
2015/03/29 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
PHP命名空间定义与用法实例分析
2019/08/14 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
JS类定义原型方法的两种实现的区别评论很多
2007/09/12 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
Javascript模块化机制实现原理详解
2020/04/02 Javascript
vuex实现购物车功能
2020/06/28 Javascript
Python判断文本中消息重复次数的方法
2016/04/27 Python
Python实现堆排序的方法详解
2016/05/03 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
"引用"与指针的区别是什么
2016/09/07 面试题
中秋节主持词
2014/04/02 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers