关于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基础教程之简单入门说明(变量和控制语言使用方法)
Mar 25 Python
Python实现对PPT文件进行截图操作的方法
Apr 28 Python
django接入新浪微博OAuth的方法
Jun 29 Python
python简单判断序列是否为空的方法
Jun 30 Python
python入门基础之用户输入与模块初认识
Nov 14 Python
opencv改变imshow窗口大小,窗口位置的方法
Apr 02 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
Flask入门之上传文件到服务器的方法示例
Jul 18 Python
numpy 返回函数的上三角矩阵实例
Nov 25 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
解决python运行效率不高的问题
Jul 20 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 session处理的定制
2009/03/16 PHP
自动把纯文本转换成Web页面的php代码
2009/08/27 PHP
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
Bootstrap树形组件jqTree的简单封装
2016/01/25 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
Python Subprocess模块原理及实例
2019/08/26 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
法国娇韵诗官方旗舰店:Clarins是来自法国的天然护肤品牌
2018/06/30 全球购物
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
总经理职责
2013/12/22 职场文书
期中考试后的反思
2014/02/08 职场文书
项目安全员岗位职责
2015/02/15 职场文书
2015年小学开学寄语
2015/02/27 职场文书
团日活动总结格式
2015/05/11 职场文书
2019新员工心得体会
2019/06/25 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android