• python3学习笔记.4.turtle绘图


    先放上参考

    https://docs.python.org/3/library/turtle.html

    //*******************************************************************************

    1.画布(canvas)

      使用 turtle.setup() | turtle.screensize()

      可以设置画布大小、背景颜色以及标题等。

    2.画笔

      2.1画笔状态

        默认画笔在画布中心、宽度为1、方向为水平右、颜色黑色并且下触。

        turtle.pensize() | turtle.width() :设置画笔宽度。turtle.speed() :速度,[0:10],越大越快。

      2.2绘图控制

      a.画笔运动控制

       

     1 #a.画笔运动命令
     2 
     3 turtle.forward(distance)
     4 #向当前画笔方向移动distance像素长度
     5 turtle.backward(distance)
     6 #向当前画笔相反方向移动distance像素长度
     7 turtle.right(degree)
     8 #顺时针移动degree°
     9 turtle.left(degree)
    10 #逆时针移动degree°
    11 turtle.pendown()
    12 #移动时绘制图形,缺省时也为绘制
    13 turtle.goto(x,y)
    14 #将画笔移动到坐标为x,y的位置
    15 turtle.penup()
    16 #提起笔移动,不绘制图形,用于另起一个地方绘制
    17 turtle.circle()
    18 #画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
    19 setx( )
    20 #将当前x轴移动到指定位置
    21 sety( )
    22 #将当前y轴移动到指定位置
    23 setheading(angle)
    24 #设置当前朝向为angle角度
    25 home()
    26 #设置当前画笔位置为原点,朝向东
    27 dot(r)
    28 #绘制一个指定直径和颜色的圆点
    29 
    30 #b.画笔控制命令
    31 
    32 turtle.fillcolor(colorstring)
    33 #绘制图形的填充颜色
    34 turtle.color(color1, color2)
    35 #同时设置pencolor=color1, fillcolor=color2
    36 turtle.filling()
    37 #返回当前是否在填充状态
    38 turtle.begin_fill()
    39 #准备开始填充图形
    40 turtle.end_fill()
    41 #填充完成
    42 turtle.hideturtle()
    43 #隐藏画笔的turtle形状
    44 turtle.showturtle()
    45 #显示画笔的turtle形状
    46 
    47 #c.全局控制命令
    48 
    49 turtle.clear()
    50 #清空turtle窗口,但是turtle的位置和状态不会改变
    51 turtle.reset()
    52 #清空窗口,重置turtle状态为起始状态
    53 turtle.undo()
    54 #撤销上一个turtle动作
    55 turtle.isvisible()
    56 #返回当前turtle是否可见
    57 stamp()
    58 #复制当前图形
    59 turtle.write(s [,font=("font-name",font_size,"font_type")])
    60 #写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项
    61 
    62 #d.其他命令
    63 
    64 turtle.mainloop()或turtle.done()
    65 #启动事件循环 -调用Tkinter的mainloop函数。必须是turtle图形程序中的最后一个语句
    66 turtle.mode(mode=None)
    67 #设置乌龟模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式
    68 '''
    69 模式         初始龟标题  正角度
    70 standard     向右(东)  逆时针
    71 logo         向上(北)  顺时针
    72 '''
    73 turtle.delay(delay=None)
    74 #设置或返回以毫秒为单位的绘图延迟。
    75 turtle.begin_poly()
    76 #开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点
    77 turtle.end_poly()
    78 #停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连
    79 turtle.get_poly()
    80 #返回最后记录的多边形

    //*******************************************************************************

    贴上练习代码

      1 import turtle as t
      2 
      3 def Screen():
      4     #t.setup(width=1024, height=960, startx=100, starty=100)
      5     t.bgcolor("orange")
      6     t.screensize(2000,1500,"#0ffff0")
      7     t.title("Hello!")
      8 
      9 def Draw0():
     10     t.penup()
     11     t.pensize(5)            #pen's width
     12     #t.color("black")       #default is black
     13     #t.forward(10)
     14     t.circle(100,steps=3)
     15     t.pendown()             #default is down
     16     t.goto(-100,-200)
     17     t.penup()
     18         
     19 def Draw1():
     20     t.penup()
     21     t.goto(100,100)
     22     t.pendown()             # 
     23     t.begin_fill()
     24     t.color("yellow")
     25     t.circle(50)
     26     t.end_fill()
     27     t.penup()
     28     
     29 def Draw2():                         
     30     t.penup()
     31     t.goto(200,100)
     32     t.pendown()
     33     t.begin_fill()          #
     34     t.color("blue")         #
     35     t.fillcolor("black")    #
     36     t.circle(50)
     37     t.end_fill()
     38     t.penup()
     39 
     40 '''
     41 turtle.write(arg, move=False, align="left", font=("Arial", 8, "normal"))
     42     Parameters:    
     43         arg – object to be written to the TurtleScreen
     44         move – True/False
     45         align – one of the strings “left”, “center” or right”
     46         font – a triple (fontname, fontsize, fonttype) 
     47 '''
     48 def Write():
     49     t.penup()
     50     #t.goto(0,0)
     51     #t.write("Color Draw",font=("Times",18,"bold"))
     52     t.write("Home = ",False,align="left")
     53     t.write((0,0),True)
     54     t.clear()
     55 
     56 def Draw3():
     57     t.penup()
     58     t.setpos(200,200)
     59     t.pendown()
     60     t.pencolor("blue")
     61     t.right(50)             #Rotate right
     62     t.forward(100)          #
     63     t.dot(10,"red")         #
     64     t.left(50+180)          #Ritate left
     65     t.color("blue")
     66     t.speed(10)
     67     t.forward(100)
     68 
     69 def Draw4():
     70     t.penup()
     71     t.goto(100,100)
     72     t.pen(fillcolor="red",pencolor="black",pensize=10)
     73     t.pendown()
     74     t.circle(50)
     75     t.goto(-100,-100)
     76     t.pencolor("#ffff00")  #"#%02x%02x%02x" % (r, g, b)
     77     t.width(2)
     78     t.forward(100)
     79     t.left(180)
     80 
     81 def Draw5():
     82     #t.color("black","red")
     83     #t.begin_fill()
     84     t.speed(10)
     85     t.circle(80)
     86     #t.end_fill()
     87     t.clear()
     88     t.clearscreen()
     89     t.delay(0)
     90     
     91 
     92 def main():
     93     Screen()
     94     #Write()
     95     #while(True):
     96     #    Draw5()
     97     Draw4()
     98     #t.mainloop()    #stop
     99     #t.bye()         #close window
    100     t.exitonclick()
    101 
    102 if __name__ == "__main__":                                                           
    103      main()
  • 相关阅读:
    eBay要怎么转型?
    一张图让你看懂javascript各类型的关系
    闭包概念,匿名函数
    浅析Javascript闭包的特性
    深入理解JavaScript闭包(closure)
    深入理解JavaScript作用域和作用域链
    WPF 学习笔记(一)
    ChromiumWebBrowser flash不能自动播放问题解决方案
    饱含辛酸开发 WPF CustomControl
    KMP算法备忘
  • 原文地址:https://www.cnblogs.com/protogenoi/p/9038169.html
Copyright © 2020-2023  润新知