用Python绘制冬奥会吉祥物冰墩墩
作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/
想要保存Python中turtle模块的图片为jpg格式,前提需要在https://ghostscript.com/releases/gsdnld.html下载gs9550w64.exe,默认安装到C盘,并将C:\Program Files\gs\gs9.55.0\bin添加到path中。
1. 冰墩墩Python代码
# -*- coding=utf-8 -*- # https://www.cnblogs.com/kailugaji/ import turtle from PIL import Image turtle.title('Bing Dwen Dwen') turtle.speed(100000) # 左手 turtle.penup() turtle.goto(177, 112) turtle.pencolor("lightgray") turtle.pensize(3) turtle.fillcolor("white") turtle.begin_fill() turtle.pendown() turtle.setheading(80) turtle.circle(-45, 200) turtle.circle(-300, 23) turtle.end_fill() # 左手内 turtle.penup() turtle.goto(182, 95) turtle.pencolor("black") turtle.pensize(1) turtle.fillcolor("black") turtle.begin_fill() turtle.setheading(95) turtle.pendown() turtle.circle(-37, 160) turtle.circle(-20, 50) turtle.circle(-200, 30) turtle.end_fill() # 轮廓 # 头顶 turtle.penup() turtle.goto(-73, 230) turtle.pencolor("lightgray") turtle.pensize(3) turtle.fillcolor("white") turtle.begin_fill() turtle.pendown() turtle.setheading(20) turtle.circle(-250, 35) # 左耳 turtle.setheading(50) turtle.circle(-42, 180) # 左侧 turtle.setheading(-50) turtle.circle(-190, 30) turtle.circle(-320, 45) # 左腿 turtle.circle(120, 30) turtle.circle(200, 12) turtle.circle(-18, 85) turtle.circle(-180, 23) turtle.circle(-20, 110) turtle.circle(15, 115) turtle.circle(100, 12) # 右腿 turtle.circle(15, 120) turtle.circle(-15, 110) turtle.circle(-150, 30) turtle.circle(-15, 70) turtle.circle(-150, 10) turtle.circle(200, 35) turtle.circle(-150, 20) # 右手 turtle.setheading(-120) turtle.circle(50, 30) turtle.circle(-35, 200) turtle.circle(-300, 23) # 右侧 turtle.setheading(86) turtle.circle(-300, 26) # 右耳 turtle.setheading(122) turtle.circle(-53, 160) turtle.end_fill() # 右耳内 turtle.penup() turtle.goto(-130, 180) turtle.pencolor("black") turtle.pensize(1) turtle.fillcolor("black") turtle.begin_fill() turtle.pendown() turtle.setheading(120) turtle.circle(-28, 160) turtle.setheading(210) turtle.circle(150, 20) turtle.end_fill() # 左耳内 turtle.penup() turtle.goto(90, 230) turtle.setheading(40) turtle.begin_fill() turtle.pendown() turtle.circle(-30, 170) turtle.setheading(125) turtle.circle(150, 23) turtle.end_fill() # 右手内 turtle.penup() turtle.goto(-180, -55) turtle.fillcolor("black") turtle.begin_fill() turtle.setheading(-120) turtle.pendown() turtle.circle(50, 30) turtle.circle(-27, 200) turtle.circle(-300, 20) turtle.setheading(-90) turtle.circle(300, 14) turtle.end_fill() # 左腿内 turtle.penup() turtle.goto(108, -168) turtle.fillcolor("black") turtle.begin_fill() turtle.pendown() turtle.setheading(-115) turtle.circle(110, 15) turtle.circle(200, 10) turtle.circle(-18, 80) turtle.circle(-180, 13) turtle.circle(-20, 90) turtle.circle(15, 60) turtle.setheading(42) turtle.circle(-200, 29) turtle.end_fill() # 右腿内 turtle.penup() turtle.goto(-38, -210) turtle.fillcolor("black") turtle.begin_fill() turtle.pendown() turtle.setheading(-155) turtle.circle(15, 100) turtle.circle(-10, 110) turtle.circle(-100, 30) turtle.circle(-15, 65) turtle.circle(-100, 10) turtle.circle(200, 15) turtle.setheading(-14) turtle.circle(-200, 27) turtle.end_fill() # 右眼 # 眼圈 turtle.penup() turtle.goto(-64, 120) turtle.begin_fill() turtle.pendown() turtle.setheading(40) turtle.circle(-35, 152) turtle.circle(-100, 50) turtle.circle(-35, 130) turtle.circle(-100, 50) turtle.end_fill() # 眼珠 turtle.penup() turtle.goto(-47, 55) turtle.fillcolor("white") turtle.begin_fill() turtle.pendown() turtle.setheading(0) turtle.circle(25, 360) turtle.end_fill() turtle.penup() turtle.goto(-45, 62) turtle.pencolor("darkslategray") turtle.fillcolor("darkslategray") turtle.begin_fill() turtle.pendown() turtle.setheading(0) turtle.circle(19, 360) turtle.end_fill() turtle.penup() turtle.goto(-45, 68) turtle.fillcolor("black") turtle.begin_fill() turtle.pendown() turtle.setheading(0) turtle.circle(10, 360) turtle.end_fill() turtle.penup() turtle.goto(-47, 86) turtle.pencolor("white") turtle.fillcolor("white") turtle.begin_fill() turtle.pendown() turtle.setheading(0) turtle.circle(5, 360) turtle.end_fill() # 左眼 # 眼圈 turtle.penup() turtle.goto(51, 82) turtle.fillcolor("black") turtle.begin_fill() turtle.pendown() turtle.setheading(120) turtle.circle(-32, 152) turtle.circle(-100, 55) turtle.circle(-25, 120) turtle.circle(-120, 45) turtle.end_fill() # 眼珠 turtle.penup() turtle.goto(79, 60) turtle.fillcolor("white") turtle.begin_fill() turtle.pendown() turtle.setheading(0) turtle.circle(24, 360) turtle.end_fill() turtle.penup() turtle.goto(79, 64) turtle.pencolor("darkslategray") turtle.fillcolor("darkslategray") turtle.begin_fill() turtle.pendown() turtle.setheading(0) turtle.circle(19, 360) turtle.end_fill() turtle.penup() turtle.goto(79, 70) turtle.fillcolor("black") turtle.begin_fill() turtle.pendown() turtle.setheading(0) turtle.circle(10, 360) turtle.end_fill() turtle.penup() turtle.goto(79, 88) turtle.pencolor("white") turtle.fillcolor("white") turtle.begin_fill() turtle.pendown() turtle.setheading(0) turtle.circle(5, 360) turtle.end_fill() # 鼻子 turtle.penup() turtle.goto(37, 80) turtle.fillcolor("black") turtle.begin_fill() turtle.pendown() turtle.circle(-8, 130) turtle.circle(-22, 100) turtle.circle(-8, 130) turtle.end_fill() # 嘴 turtle.penup() turtle.goto(-15, 48) turtle.fillcolor("red") turtle.setheading(-36) turtle.begin_fill() turtle.pensize(2) turtle.pencolor("black") turtle.pendown() turtle.circle(60, 70) turtle.setheading(-132) turtle.circle(-45, 100) turtle.end_fill() # 彩虹圈 turtle.penup() turtle.goto(-135, 120) turtle.pensize(5) turtle.pencolor("cyan") turtle.pendown() turtle.setheading(60) turtle.circle(-165, 150) turtle.circle(-130, 78) turtle.circle(-250, 30) turtle.circle(-138, 105) turtle.penup() turtle.goto(-131, 116) turtle.pencolor("slateblue") turtle.pendown() turtle.setheading(60) turtle.circle(-160, 144) turtle.circle(-120, 78) turtle.circle(-242, 30) turtle.circle(-135, 105) turtle.penup() turtle.goto(-127, 112) turtle.pencolor("orangered") turtle.pendown() turtle.setheading(60) turtle.circle(-155, 136) turtle.circle(-116, 86) turtle.circle(-220, 30) turtle.circle(-134, 103) turtle.penup() turtle.goto(-123, 108) turtle.pencolor("gold") turtle.pendown() turtle.setheading(60) turtle.circle(-150, 136) turtle.circle(-104, 86) turtle.circle(-220, 30) turtle.circle(-126, 102) turtle.penup() turtle.goto(-120, 104) turtle.pencolor("greenyellow") turtle.pendown() turtle.setheading(60) turtle.circle(-145, 136) turtle.circle(-90, 83) turtle.circle(-220, 30) turtle.circle(-120, 100) turtle.penup() # 爱心 turtle.penup() turtle.goto(220, 115) turtle.pencolor("brown") turtle.pensize(1) turtle.fillcolor("brown") turtle.begin_fill() turtle.pendown() turtle.setheading(36) turtle.circle(-8, 180) turtle.circle(-60, 24) turtle.setheading(110) turtle.circle(-60, 24) turtle.circle(-8, 180) turtle.end_fill() turtle.penup() # 标识 turtle.pencolor("black") turtle.goto(-25, -140) turtle.write("Bing Dwen Dwen", font=('Arial', 10, 'bold italic')) turtle.hideturtle() # 标识 turtle.pencolor("black") turtle.goto(-16, -160) turtle.write("BEIJING 2022", font=('Arial', 10, 'bold italic')) turtle.hideturtle() # 五环 turtle.penup() turtle.goto(-5, -170) turtle.pendown() turtle.pencolor("blue") turtle.circle(6) turtle.penup() turtle.goto(10, -170) turtle.pendown() turtle.pencolor("black") turtle.circle(6) turtle.penup() turtle.goto(25, -170) turtle.pendown() turtle.pencolor("brown") turtle.circle(6) turtle.penup() turtle.goto(2, -175) turtle.pendown() turtle.pencolor("lightgoldenrod") turtle.circle(6) turtle.penup() turtle.goto(16, -175) turtle.pendown() turtle.pencolor("green") turtle.circle(6) turtle.penup() turtle.getscreen() turtle.getcanvas().postscript(file="bingdwendwen.eps") turtle.done() x = Image.open('bingdwendwen.eps') x.save("bingdwendwen.jpg")