python代码生成圣诞树
用turtle生成彩色圣诞树图片,有树,有雪,有星星
一、简介
本文将介绍如何使用Python的turtle库来生成一个彩色的圣诞树图片。我们将使用turtle库绘制树、雪花和星星,然后将其保存为图片文件。
二、准备工作
- 安装turtle库:在命令行中输入
pip install PythonTurtle
进行安装。 - 准备一张空白的图片作为背景。
- 准备一些彩色的笔刷,用于绘制树、雪花和星星。
三、代码实现
import turtle
import random
# 设置画布大小和背景颜色
screen = turtle.Screen()
screen.setup(800, 600)
screen.bgcolor("white")
# 创建画笔
pen = turtle.Turtle()
pen.speed(0)
pen.hideturtle()
# 绘制树
def draw_tree(branch_len):
if branch_len > 5:
pen.forward(branch_len)
pen.right(20)
draw_tree(branch_len - 15)
pen.left(40)
draw_tree(branch_len - 15)
pen.right(20)
pen.backward(branch_len)
# 绘制雪花
def draw_snowflake(size):
for _ in range(6):
pen.forward(size)
pen.right(60)
pen.forward(size)
pen.left(120)
pen.forward(size)
pen.right(60)
pen.backward(size)
pen.right(60)
# 绘制星星
def draw_star(size):
pen.color("yellow")
pen.begin_fill()
for _ in range(5):
pen.forward(size)
pen.right(144)
pen.end_fill()
# 主程序
def main():
# 绘制背景
pen.color("skyblue")
pen.begin_fill()
pen.circle(300)
pen.end_fill()
# 绘制树
pen.color("brown")
pen.begin_fill()
pen.left(90)
pen.forward(200)
draw_tree(100)
pen.left(90)
pen.backward(200)
pen.end_fill()
# 绘制雪花
pen.color("white")
for _ in range(100):
x = random.randint(-350, 350)
y = random.randint(-250, -150)
size = random.randint(5, 15)
pen.penup()
pen.goto(x, y)
pen.pendown()
draw_snowflake(size)
# 绘制星星
pen.color("yellow")
for _ in range(20):
x = random.randint(-350, 350)
y = random.randint(150, 250)
size = random.randint(10, 20)
pen.penup()
pen.goto(x, y)
pen.pendown()
draw_star(size)
# 保存图片
screen.getcanvas().postscript(file="christmas_tree.eps", colormode='color')
screen.mainloop()
if __name__ == "__main__":
main()
四、运行结果
运行上述代码后,会在当前目录下生成一个名为christmas_tree.eps
的图片文件。你可以使用其他图像处理软件打开该文件查看效果。