当前位置: 首页 > news >正文

python中海龟绘图之海龟印章

当想“印”一个可独立删除的静态图形,而不是画线或点,就适合用 stamp()。

1 stamp()的用法

stamp_id = turtle.stamp()

在当前海龟位置将海龟形状的一个副本印在画布上,返回该印章的stamp_id。代码如图1所示。

图1 stamp()的用法

其中,第4行代码将海龟印章印在起点位置,其id为id1。代码运行的效果如图2所示。

图2 代码运行效果

从图2中可以看出,右侧为当前海龟,左侧是在起点的印章。

2 clearstamp()的用法

clearstamp()的用法如下所示。

turtle.clearstamp(stamp_id)

clearstamp()的作用是删除参数stamp_id指定的海龟印章。代码如图3所示。

图3 clearstamp()的用法

其中,图3所示的代码是图1代码的基础上添加了第6行代码。第6行代码通过turtle.ontimer创建了一个定时器,当1000毫秒之后,调用lambda指定的匿名函数,该匿名函数的作用是删除id1指定的海龟印章,也就是起始位置处的印章。代码运行的效果如图4所示。

图4 代码运行效果

3 clearstamps()的用法

clearstamps()函数的作用是批量删除印章,其格式如下所示。

turtle.clearstamps(n=None)

如果 n 为 None,则删除所有印章;如果 n > 0,则删除前 n 个印章;如果 n < 0,则删除后 n 个印章。代码如图5所示。

图5 clearstamps()的用法

其中,第4-6行代码使用for循环创建了4个海龟印章。第8行代码创建定时器,在1000毫秒后调用clearstamps()删除所有印章。代码运行效果如图6所示。

图6 删除所有印章的效果

将图5中第8行代码的t.clearstamps()的参数设置为2,表示删除前两个海龟印章,代码运行效果如图7所示。

图7 删除前两个印章的效果

将图5中第8行代码的t.clearstamps()的参数设置为-2,表示删除后两个海龟印章,代码运行效果如图8所示。

图8 删除后两个印章的效果

4 小结

turtle库的stamp()函数可以将海龟印章打印到海龟当前位置处,该函数的返回值是印章的id。clearstamp()函数删除指定的印章。clearstamps()函数可以批量删除印章。stamp()、clearstamp()和clearstamps()一般用于需要留下标记但不画线、重复绘制相同图案、保留位置记录以便后期删除以及制作动画或临时高亮等场合。

http://www.cnnetsun.cn/news/1929721.html

相关文章:

  • 告别版本不兼容!用Python脚本+ArcGIS工具箱,5分钟搞定上百个mxd文件批量降级
  • FigmaToCode终极指南:如何5分钟将设计稿转换为多平台代码
  • 别再只用SELECT了!解锁MySQL Handler接口,像操作文件一样‘打开-读取-关闭’数据表
  • MyBatis 面试连环炮:从源码原理到实战避坑,彻底拿下 Offer 通关秘籍
  • 如何在Navicat中使用逻辑模型转为物理模型_架构师必备技能
  • 深度学习基于YOLOv8的苹果叶片病害检测系统 Python + PyQt5可视化界面 苹果病害检测数据集的训练及应用
  • UVM验证平台组件通信避坑指南:从TLM端口连接到uvm_config_db的正确用法
  • 用立创EDA复刻FM5324GA充放电模块,做个雪花灯底座给娃当礼物(附完整BOM清单)
  • 有机化学中苯环上取代基的次序规则
  • 手把手教你用STM32F103C8T6和MAX30102做个心率血氧仪(附完整代码和算法解析)
  • 如何用UABEA轻松修改Unity游戏资源?新手完整指南
  • 生成式AI多语言支持实战手册(覆盖127种语系+低资源语言破局方案)
  • vSphere 6.7证书突然过期,凌晨三点我这样救活了vCenter
  • 工业肌肉:04 机器人为什么能精准到 0.01mm?运动控制三参数告诉你
  • 告别环境配置噩梦:用PothosSDR 2020.01.26一站式搞定Windows下的USRP开发环境
  • 步进电机选型翻车实录:从振动、丢步到扭矩不足,我的三个项目踩坑总结与避坑指南
  • PyTorch加载.pth文件报错?手把手教你三种离线下载预训练模型的方法(附国内网络解决方案)
  • LangChain API 参考文档简介
  • FanControl终极指南:5分钟掌握Windows风扇精准控制
  • 【学习笔记】Spring IOC为何重要?
  • 八大网盘直链下载助手:免费开源工具实现下载速度10倍提升
  • Linux C编程基础知识(文件目录操作)
  • FaceFusion使用技巧:如何设置参数获得最佳换脸效果?
  • 破局高速与疲劳测量难题:DIC技术的全场动态视界
  • Nucleus Co-Op深度解析:单机游戏分屏多人协作的完整技术指南
  • 大模型应用开发入门指南:小白程序员轻松进阶,收藏必备!
  • 从理论到实践:基于Python与RealSense的JAKA机械臂手眼标定全流程解析
  • 三步掌握百度网盘秒传脚本:永久分享文件的终极解决方案
  • STK 12.2 与 MATLAB R2021a 联调避坑全记录:从环境配置到第一个Python脚本跑通
  • 激光SLAM实战解析——从特征点提取到匹配优化全流程