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

作者:Mosu's_tech_blog 时间:2023-08-21 14:02:34 

环境配置

系统: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() # 保持界面显示

来源:https://www.cnblogs.com/mosu/p/16085184.html

标签:Python,turtle库,画图
0
投稿

猜你喜欢

  • SQL中limit函数语法与用法(MYSQL获取限制某行数据)

    2024-01-28 00:52:07
  • python requests.get带header

    2022-07-28 20:50:40
  • Pyqt+matplotlib 实现实时画图案例

    2022-01-06 12:52:23
  • HTML文件HEAD内部标签用法浅析

    2008-07-06 20:56:00
  • python下如何让web元素的生成更简单的分析

    2023-01-28 23:46:34
  • 一文带你了解Golang中的WaitGroups

    2024-04-25 13:18:17
  • 浅谈Python单向链表的实现

    2023-01-18 14:00:39
  • Python NumPy灰度图像的压缩原理讲解

    2021-02-16 02:46:33
  • mysql设置指定ip远程访问连接实例

    2024-01-26 04:36:36
  • 比较经典技术普及帖 以你刚才在淘宝上买了一件东西

    2022-01-19 06:59:15
  • MySQL启用慢查询日志记录方法

    2024-01-25 11:42:16
  • ASP生成静态网页各种方法收集整理

    2008-02-18 19:25:00
  • python 统计list中各个元素出现的次数的几种方法

    2022-12-09 10:04:01
  • php时间不正确的解决方法

    2023-11-18 07:33:15
  • Python打印scrapy蜘蛛抓取树结构的方法

    2022-01-16 03:46:18
  • Python 日志logging模块用法简单示例

    2021-10-08 19:47:20
  • python数字图像处理之骨架提取与分水岭算法

    2023-03-07 15:59:50
  • golang 实现struct、json、map互相转化

    2024-02-15 12:30:40
  • 在弹出窗口用POST提交数据

    2010-02-24 09:39:00
  • Django框架实现的普通登录案例【使用POST方法】

    2021-10-12 18:05:10
  • asp之家 网络编程 m.aspxhome.com