Python初学,第一次用turtle画图,临摹了一张情人节主题的粉色花卉卡片,太菜了不懂得使循环之类的函数,只用了几种基本的方法手工一根一根描的,一行一行写,画了整整一天多,代码九百六十多行(量大预警),流泪。(;´д`)ゞ
使用函数
全部代码就用到以下几种,由于是在python123上的在线turtle编译器练习的,默认的尺寸就是480×480,因此没有手动设置画布尺寸。
设置画布
函数名 |
简介 |
screensize() |
设置画布尺寸 |
画笔运动
penup() |
抬起画笔 |
pendown() |
放下画笔 |
right() |
顺时针旋转角度 |
left() |
逆时针旋转角度 |
forward() fd() |
向前移动长度 |
backward() |
向后移动长度 |
circle() |
画圆弧 |
setheading() |
设置朝向角度 |
画笔控制
pensize() |
设置画笔宽度 |
pencolor() |
设置画笔颜色 |
fillcolor() |
设置填充颜色 |
color(color1, color2) |
同时设置画笔颜色和填充颜色 |
begin_fill() |
开始填充 |
end_fill() |
结束填充 |
dot() |
绘制圆点 |
文本:
函数名 |
简介 |
write(“文字内容”,align=‘center’,font=(‘arial’,17,‘normal’)) |
绘制文本 |
成果
原参考图:
比起原图,我临摹的实在是有点不堪入目了哈哈哈,叶子边边实在是没有耐心描了,也没有渐变可以用_(:з)∠)_ 文字也不会弯曲排版,凑合看看吧
代码
from turtle import *
# 2020/3/18
# 终于画完了..前两天抽了点空加今天一天把它完成了,纯手打,竟然有九百多快壹仟行了。。
# 照着网上一个素材画的,可惜百度找了很久不知道渐变怎么画,没有渐变显得好俗气_(:з)∠)_
# 不过也至少完成了,没有用到函数写法,我太菜了不懂,不然应该会节省很多时间。。
# 第一次玩turtle库画的粉红色情人节卡片,送给男朋友~ (╹ڡ╹ )♥
#—————————————
# 背景
penup()
fd(240)
pencolor(255,148,178) #最外轮廓线颜色
pendown()
begin_fill()
right(90)
fd(240)
right(90)
fd(480)
right(90)
fd(480)
right(90)
fd(480)
right(90)
fd(240)
fillcolor(255,148,178)
end_fill()
#中间卡片
penup()
pencolor()
right(90)
fd(90)
right(90)
pendown()
pencolor(246,116,151) #边轮廓线颜色 255,98,141
pensize(1)
begin_fill()
fd(180)
left(90)
fd(300)
left(90)
fd(360)
left(90)
fd(300)
left(90)
fd(180)
fillcolor(255,98,141)
end_fill()
#阴影一层
penup()
right(90)
fd(2)
left(90)
pendown()
pensize(2)
pencolor(239,140,168)#239,140,168
fd(182)
left(90)
fd(304)
left(90)
fd(364)
left(90)
fd(304)
left(90)
fd(182)
#阴影二层
penup()
right(90)
fd(2)
left(90)
pendown()
pensize(2)
pencolor(247,144,173)
fd(184)
left(90)
fd(308)
left(90)
fd(368)
left(90)
fd(308)
left(90)
fd(184)
#阴影三层
penup()
right(90)
fd(2)
left(90)
pendown()
pensize(2)
pencolor(248,144,173)
fd(186)
left(90)
fd(312)
left(90)
fd(372)
left(90)
fd(312)
left(90)
fd(186)
#阴影四层
penup()
right(90)
fd(2)
left(90)
pendown()
pensize(0.5)
pencolor(250,145,175)#
fd(188)
left(90)
fd(316)
left(90)
fd(376)
left(90)
fd(316)
left(90)
fd(188)
#底部阴影
penup()
right(180)
fd(180)
right(90)
fd(9)
pendown()
pensize(0.7)
pencolor(181,89,115)
fd(294)
penup()
left(90)
fd(2)
left(90)
pendown()
pencolor(178, 89, 114)
fd(290)
penup()#3
right(90)
fd(1)
right(90)
pendown()
pencolor(198,106,138)
fd(150)
penup()
fd(140)
right(180)
pendown()
fd(150)
penup()
right(90)
fd(1)
right(90)
pencolor(180,105,126)#180,105,126
fd(150)
right(180)
pensize(0.5)
pendown()
fd(120)
penup()
fd(170)
right(180)
pendown()
fd(120)
penup()
fd(170)
left(90)
fd(2)
left(90)
pencolor(202,116,140)#202,116,140
pendown()
fd(80)
penup()
fd(210)
right(180)
pendown()
fd(90)
penup()
fd(200)
left(90)
fd(2)
left(90)
pencolor(222,129,155)#222,128,154
pendown()
fd(40)
penup()
fd(260)
right(180)
fd(40)
penup()
goto(0,80)
pendown()
color("white","white")
begin_fill()
circle(120)
end_fill()
#===================================================
#中央图画
#花茎
penup()
goto(-37,0)
setheading(90)
pendown()
color(142,46,72)
fd(50)
penup()
goto(27,-15)
setheading(70)
pendown()
color(142,46,72)
circle(80,40)
penup()
goto(-10,-70)
setheading(60)
pendown()
color(142,46,72)
circle(80,40)
penup()
goto(59,-90)
setheading(25)
pendown()
circle(70,40)
penup()
#叶子=================================================
goto(-13,-153)
pendown()
begin_fill()
color(51,112,68)
setheading(80)
circle(58, 30)
setheading(130)
circle(58, 20)
setheading(120)
circle(58, 20)
setheading(170)
circle(55, 20)
setheading(156)
circle(30, 20)
setheading(186)
circle(50, 20)
setheading(326)
circle(40, 20)
setheading(290)
circle(48, 20)
setheading(330)
circle(55, 20)
setheading(280)
circle(25, 20)
setheading(300)
circle(42, 60)
end_fill()
penup()
#叶子2---------------------
goto(-20,-100)
pendown()
begin_fill()
setheading(40)
circle(40, 70)
setheading(120)
circle(40, 29)
setheading(80)
circle(40, 40)
setheading(100)
circle(30, 60)
setheading(135)
circle(80, 40)
setheading(305)
circle(30,20)
setheading(280)
circle(120,10)
setheading(288)
circle(20,20)
setheading(278)
circle(100,30)
setheading(288)
circle(90,40)
end_fill()
penup()
#叶子3---------------------
goto(7,-110)
pendown()
begin_fill()
setheading(20)
circle(40,50)
setheading(10)
circle(22,100)
setheading(10)
circle(32,80)
setheading(80)
circle(77,40)
setheading(210)
circle(122,20)
setheading(240)
circle(48,20)
setheading(230)
circle(120,50)
end_fill()
penup()
#叶子3--------------------------
goto(19,-150)
pendown()
setheading(0)
begin_fill()
circle(50,50)
setheading(10)
circle(60,60)
setheading(150)
circle(56,90)
setheading(240)
circle(90,30)
end_fill()
#碎叶--------------------------------------------
penup()
goto(58,-140)
setheading(0)
pendown()
begin_fill()
circle(50,40)
rt(220)
circle(50,40)
end_fill()
penup()#2
goto(-50,-80)
setheading(120)
pendown()
begin_fill()
circle(50,40)
rt(220)
circle(50,40)
end_fill()
penup()#3
goto(78,-33)
setheading(20)
pendown()
begin_fill()
circle(30,40)
rt(220)
circle(30,40)
end_fill()
penup()#4
goto(-40,20)
setheading(115)
pendown()
begin_fill()
circle(50,40)
rt(220)
circle(50,40)
end_fill()
penup() #5
goto(27,20)
setheading(120)
pendown()
begin_fill()
circle(50,40)
rt(220)
circle(50,40)
end_fill()
penup() #6
goto(85,-80)
setheading(0)
pendown()
begin_fill()
circle(45,40)
rt(220)
circle(45,40)
end_fill()
#嫩碎叶
penup() #1
goto(-35,13)
setheading(10)
color()
pendown()
begin_fill()
color(104,236,139)
circle(43,40)
rt(220)
circle(43,40)
end_fill()
penup() #2
goto(33,10)
setheading(40)
color()
pendown()
begin_fill()
circle(40,40)
rt(220)
circle(40,40)
end_fill()
penup() #3
goto(-50,-88)
setheading(140)
color()
pendown()
begin_fill()
circle(60,40)
rt(220)
circle(60,40)
end_fill()
penup() #4
goto(-60,-58)
setheading(120)
color()
pendown()
begin_fill()
circle(40,40)
rt(220)
circle(40,40)
end_fill()
penup() #5
goto(70,-80)
setheading(60)
color()
pendown()
begin_fill()
circle(40,40)
rt(220)
circle(40,40)
end_fill()
#====================================================
#茎叶
penup()
goto(-10,-178)
pencolor(81,187,109)
right(90)
# pendown()
circle(320, 40)
penup()
goto(-7,-178)
pendown()
setheading(90)
circle(305, 43)
penup()
goto(-8,-178)
setheading(90)
pendown()
pensize(2)
circle(305, 38)
penup()
goto(-10,-178)
setheading(90)
pendown()
pensize(1)
circle(80, 80)
penup()
goto(-9,-178)
setheading(90)
pensize(1)
pendown()
circle(80, 80)
penup()
goto(-10,-139)
setheading(65)
pendown()
fd(170)
goto(-10,-143)
setheading(65)
fd(170)
penup()
goto(90,-100)
setheading(180)
pendown()
circle(78, 90)
penup()
goto(90,-100)
pendown()
setheading(181)
pensize(1.5)
circle(79, 90)
penup()
#枝叶 --------------------------------
goto(60,-105) #右-上第一片
setheading(55)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(48, 20)
right(200)
circle(48, 20)
end_fill()
penup() #右-下第一片
goto(55,-110)
setheading(340)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(58, 20)
right(200)
circle(58, 20)
end_fill()
penup() #右-上第二片
setheading(70)
goto(45,-116)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(58, 20)
right(200)
circle(58, 20)
end_fill()
penup()
goto(35,-123) #右-下第二片
setheading(340)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(80, 20)
right(200)
circle(80, 20)
end_fill()
penup() #右上第三片
setheading(77)
goto(28,-133)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(58, 20)
right(200)
circle(58, 20)
end_fill()
penup()
goto(25,-140) #右-下第二片
setheading(0)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(80, 18)
right(200)
circle(80, 18)
end_fill()
penup()
goto(22,-78) #右1-下第3片
setheading(10)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(80, 18)
right(200)
circle(80, 18)
end_fill()
penup()
goto(31,-52) #右1-下第2片
setheading(18)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(80, 22)
right(200)
circle(80, 22)
end_fill()
penup()
goto(45,-22) #右1-下第1片
setheading(5)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(80, 20)
right(200)
circle(80, 20)
end_fill()
penup()
goto(47,-12) #右1-上第1片
setheading(80)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(80, 18)
right(200)
circle(80, 18)
end_fill()
penup()
goto(30,-42) #右1-上第2片
setheading(80)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(90, 20)
right(200)
circle(90, 20)
end_fill()
penup()
goto(16,-77) #右1-上第3片
setheading(90)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(120, 18)
right(200)
circle(120, 18)
end_fill()
penup()
goto(-55,-10) #左1-右第1片
setheading(90)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(80, 18)
right(200)
circle(80, 18)
end_fill()
penup()
goto(-39,-38) #左1-右第2片
setheading(70)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(80, 22)
right(200)
circle(80, 22)
end_fill()
penup()
goto(-23,-88) #左1-右第3片
setheading(58)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(80, 22)
right(200)
circle(80, 22)
end_fill()
penup()
goto(-50,-30) #左1-左第1片
setheading(140)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(90, 20)
right(200)
circle(90, 20)
end_fill()
penup()
goto(-32,-66) #左1-左第2片
setheading(130)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(120, 18)
right(200)
circle(120, 18)
end_fill()
penup() #左-下第一片
goto(-64,-110)
setheading(340)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(58, 20)
right(200)
circle(58, 20)
end_fill()
penup() #左-下第2片
goto(-45,-125)
setheading(340)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(58, 20)
right(200)
circle(58, 20)
end_fill()
penup() #左-下第3片
goto(-40,-139)
setheading(340)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(58, 20)
right(200)
circle(58, 20)
end_fill()
penup() #左-上1
goto(-37,-115)
setheading(112)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(58, 20)
right(200)
circle(58, 20)
end_fill()
penup() #左-上2
goto(-22,-133)
setheading(90)
begin_fill()
fillcolor(81,187,109)
pendown()
pensize(1)
circle(58, 20)
right(200)
circle(58, 20)
end_fill()
penup()
#花朵==========================================
#花朵1-----------------
goto(-37,32)
color(254,184,203)
pendown()
begin_fill()
setheading(30)
circle(40,50)
setheading(190)
circle(30,30)
setheading(90)
circle(30,30)
setheading(230)
circle(30,30)
setheading(120)
circle(30,20)
setheading(255)
circle(30,70)
end_fill()
penup()
#————————————
goto(28,32)
color(254,184,203)
pendown()
begin_fill()
setheading(50)
circle(50,40)
setheading(200)
circle(30,30)
setheading(90)
circle(30,30)
setheading(240)
circle(35,30)
setheading(140)
circle(35,30)
setheading(293)
circle(56,40)
end_fill()
#—————————————
penup()
goto(0,-20)
color(254,184,203)
pendown()
begin_fill()
setheading(50)
circle(50,40)
setheading(220)
circle(30,30)
setheading(90)
circle(30,30)
setheading(240)
circle(35,30)
setheading(120)
circle(35,30)
setheading(280)
circle(56,40)
end_fill()
#—————————————
penup()
goto(92,-66)
color(254,184,203)
pendown()
begin_fill()
setheading(20)
circle(40,40)
setheading(200)
circle(30,30)
setheading(70)
circle(30,30)
setheading(220)
circle(30,30)
setheading(90)
circle(30,30)
setheading(260)
circle(45,40)
end_fill()
#花瓣二层———————————————————————
penup()
goto(86,-70)
color(254,129,163)
pendown()
begin_fill()
setheading(5)
circle(40,40)
setheading(173)
circle(40,30)
setheading(93)
circle(42,30)
setheading(253)
circle(54,30)
end_fill()
#——————————————
penup()
goto(0,-22)
color(254,129,163)
pendown()
begin_fill()
setheading(40)
circle(40,40)
setheading(220)
circle(35,30)
setheading(98)
circle(46,30)
setheading(263)
circle(40,30)
setheading(143)
circle(38,30)
setheading(300)
circle(55,30)
end_fill()
penup()
#——————————————
goto(-37,30)
color(254,129,163)
pendown()
begin_fill()
setheading(30)
circle(40,40)
setheading(200)
circle(40,30)
setheading(118)
circle(46,30)
setheading(283)
circle(65,30)
end_fill()
penup()
#——————————————
goto(29,30)
color(254,129,163)
pendown()
begin_fill()
setheading(50)
circle(40,40)
setheading(220)
circle(40,30)
setheading(138)
circle(46,30)
setheading(303)
circle(65,30)
end_fill()
penup()
#花蕊-----------------------------------------
goto(-43,42)
color(254,94,138)
pensize(2)
pendown()
setheading(99)
fd(15)
penup()
goto(-36,38)
pendown()
setheading(88)
fd(20)
penup()
goto(-30,43)
pendown()
setheading(70)
fd(12)
#----------------
penup()
goto(18,40)
pendown()
setheading(120)
fd(12)
penup()
goto(26,38)
pendown()
setheading(100)
fd(22)
penup()
goto(33,46)
pendown()
setheading(80)
fd(11)
#----------------
penup()
goto(-8,-12)
pendown()
setheading(120)
fd(12)
penup()
goto(-2,-15)
pendown()
setheading(90)
fd(22)
penup()
goto(4,-11)
pendown()
setheading(78)
fd(15)
#----------------
penup()
goto(86,-60)
pendown()
setheading(80)
fd(15)
penup()
goto(88,-64)
pendown()
setheading(56)
fd(20)
penup()
goto(94,-64)
pendown()
setheading(36)
fd(15)
penup()
#点点!==================================================
goto(81,-13)
pendown()
dot(5)
penup()
goto(55,-67)
dot(4)
penup()
goto(20,11)
dot(4)
penup()
goto(-12,-34)
dot(5)
penup()
goto(-84,-23)
dot(6)
penup()
goto(-89,-10)
dot(4)
penup()
goto(-9,-103)
dot(6)
penup()
goto(-80,-65)
dot(5)
penup()
goto(-88,-88)
dot(6)
penup()
goto(-97,-81)
dot(4)
penup()
goto(6,-124)
dot(3)
penup()
#============================================================
#文字
goto(0,120)
pendown()
color(255,255,255)
write("HAPPY",align='center',font=('arial',17,'bold'))
penup()
goto(0,94)
pendown()
write("VALENTINE'S DAY",align='center',font=('arial',17,'bold'))
penup()
goto(0,158)
pendown()
write("U E Q U N E - X M U T — T O W H I T E ",align='center',font=('arial',10,'light'))
#完成
penup()
goto(888,888)
done()
临摹
turtle
花
Python