关于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之赋值,简单也不简单
Sep 24 Python
Python判断字符串与大小写转换
Jun 08 Python
全面了解python字符串和字典
Jul 07 Python
Python变量和数据类型详解
Feb 15 Python
Python 记录日志的灵活性和可配置性介绍
Feb 27 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
Jan 30 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
详解python 支持向量机(SVM)算法
Sep 18 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
Jan 28 Python
python sleep和wait对比总结
Feb 03 Python
python Tkinter的简单入门教程
Apr 11 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
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
谈谈新手如何学习PHP
2006/12/23 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
2018/12/03 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
TensorFlow实现RNN循环神经网络
2018/02/28 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
django基础学习之send_mail功能
2019/08/07 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
体现团队精神的口号
2014/06/06 职场文书
学校联谊协议书
2014/09/16 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android