• Python3,区区几行代码,turtle替我实现了我多年的绘画梦。


    1、引言

    小屌丝:鱼哥, 最近我被大连的车厘子给圈粉了。
    小鱼:你能不能平时多看一点食物大百科?
    小屌丝:咋的了?
    小鱼:但凡有点常识的人,都知道大连产的那叫大樱桃,不叫车厘子!
    小屌丝:这… 还有讲究?
    小鱼:看图,上课!
    在这里插入图片描述
    小鱼:从左往右,每个图片的品种都不一样。
    小屌丝:我屮艸芔茻…我还以为这些都叫车厘子。
    小鱼:你除了知道车厘子,还知道什么?
    小屌丝:这不是在鱼哥的教导下,我认知的食物越来越多嘛。
    小鱼:别整没用的,就知道夸我,也不来点实际的。
    小屌丝:实际的,可以啊,如果你能画出樱桃树,我就让你今天实现车厘子 大樱桃自由。
    小鱼:此话当真?
    小屌丝:此话不假。
    小鱼:此话确实当真?
    小屌丝:别墨迹,赶紧的,会不会,一句话。
    小鱼:必须的整。

    2、代码实例

    2.1 turtle介绍

    2.1.1 画布

    1、画布的高宽及颜色
    turtle.screensize(canvwidth=None, canvheight=None, bg=None),

    • canvwidth=None:宽
    • canvheight=None:高
    • bg=None: 背景色

    2、画布像素及位置
    turtle.setup(width=0.5, height=0.75, startx=None, starty=None),

    • width=“整数”,像素 ;width=“小数”,占据电脑屏幕比例
    • height=“整数”,像素 ;height=“小数”,占据电脑屏幕比例
    • startx, starty :窗口坐标位置

    2.1.2 用法

    命令用法
    turtle.forward(distance)向当前画笔⽅向移动distance像素长度
    turtle.backward(distance)向当前画笔相反⽅向移动distance像素长度
    turtle.right(degree)顺时针移动degree°
    turtle.left(degree)逆时针移动degree°
    turtle.pendown()移动时绘制图形,缺省时也为绘制
    turtle.goto(x,y)将画笔移动到坐标为x,y的位置
    turtle.penup()提起笔移动,不绘制图形,⽤于另起⼀个地⽅绘制
    turtle.circle()画圆,半径为正(负),表⽰圆⼼在画笔的左边(右边)画圆
    setx( )将当前x轴移动到指定位置
    sety( )将当前y轴移动到指定位置
    setheading(angle)设置当前朝向为angle⾓度
    home()设置当前画笔位置为原点,朝向东。
    dot( r )绘制⼀个指定直径和颜⾊的圆点

    学习了turtle的基本用法,接下来,我们就要实践了。

    2.2 代码示例

    2.2.1 安装

    任何第三方库,都需要安装,
    老规矩,直接pip 方式安装

    pip install turtle
    
    • 1

    其它安装方式,直接看这两篇:

    Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!
    Python3:我低调的只用一行代码,就导入Python所有库!

    2.2.2 樱桃树

    # -*- coding:utf-8 -*-
    # @Time   : 2022-06-19
    # @Author : carl_DJ
    
    import turtle
    
    #绘画樱桃树
    toplevel = 8
    angle = 30
    rangle = 15
    
    def drawTree(length, level):
        turtle.left(angle)  # 绘制左枝
        turtle.color("black")
        turtle.forward(length)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    运行结果
    在这里插入图片描述

    2.2.3 玫瑰花

    # -*- coding:utf-8 -*-
    # @Time   : 2022-06-19
    # @Author : carl_DJ
    
    import turtle
    '''
    绘画玫瑰花,总共分三步:
    1、绘画花蕊
    2、绘画花瓣
    3、绘画树叶
    '''
    # 绘画花蕊
    turtle.fillcolor("red")
    turtle.begin_fill()
    turtle.circle(10, 180)
    turtle.left(50)
    turtle.circle(150, 90)
    turtle.end_fill()
    
    #绘画花瓣
    turtle.left(150)
    turtle.circle(-90, 70)
    turtle.left(20)
    turtle.circle(-80, 98)
    turtle.setheading(-83)
    
    #绘画叶子
    turtle.fd(30)
    turtle.left(90)
    turtle.fd(25)
    turtle.left(45)
    turtle.circle(200, 60)
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    运行结果

    2.2.4 旋转动画

    # -*- coding:utf-8 -*-
    # @Time   : 2022-06-19
    # @Author : carl_DJ
    
    import turtle
    
    t = turtle.Pen()
    t.speed(100)
    turtle.bgcolor("black")
    sides = 6
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行结果
    在这里插入图片描述

    2.2.5 纸飞机

    # -*- coding:utf-8 -*-
    # @Time   : 2022-06-19
    # @Author : carl_DJ
    
    import turtle
    #太阳
    turtle.color('red')
    turtle.penup()
    turtle.goto(250,200)
    turtle.pendown()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行结果
    在这里插入图片描述

    3、总结

    看到这里,今天的分享就差不多该结束了。
    是不是感觉,奇奇怪怪的知识又增加了呢。

    其实,
    turtle在绘画中的场景应用还蛮多了,
    虽然绘画的并不太完美,但是,小鱼觉得还不错。
    尤其是绘画的那支玫瑰花,可以打印出来,送给你的女神。
    我觉得她一定会…

    看看表,时间差不多了,我该去吃大樱桃了。

  • 相关阅读:
    Java反应式编程(2)
    KeyDB源码解析三——多版本控制
    pdf转图片(利用pdf2image包)
    HTML 利用js解析url
    「专题速递」AR协作、智能NPC、数字人的应用与未来
    Unity WebView 中文输入支持
    3年经验,光靠自动化测试基础,你可能连17k的测试岗都找不到,认清现实.....
    Python基础入门例程20-NP20 增加派对名单(一)(列表)
    算法基础之差分和前缀和
    【附源码】Python计算机毕业设计融资租赁管理系统
  • 原文地址:https://blog.csdn.net/wuyoudeyuer/article/details/125358758