把显示的图片也显示出来
时间: 2023-09-28 18:12:02 浏览: 33
好的,我可以为您修改代码,让程序能够在绘制完毕后将图片显示出来。请使用以下代码:
绘制樱花:
``` python
import turtle
import random
from PIL import ImageGrab
# 设置画布大小和背景颜色
turtle.setup(width=800, height=600)
turtle.bgcolor("black")
# 定义绘制花朵的函数
def draw_flower(petal_num, petal_len, petal_width):
turtle.color("white")
for i in range(petal_num):
turtle.begin_fill()
turtle.circle(petal_len, 60)
turtle.left(120)
turtle.circle(petal_len, 60)
turtle.end_fill()
turtle.left(360/petal_num)
turtle.color("pink")
turtle.begin_fill()
turtle.circle(20)
turtle.end_fill()
# 随机生成樱花的位置和大小
for i in range(20):
x = random.randint(-400, 400)
y = random.randint(-300, 300)
petal_num = random.randint(5, 10)
petal_len = random.randint(50, 100)
petal_width = random.randint(5, 15)
# 移动画笔到指定位置
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
# 绘制樱花
draw_flower(petal_num, petal_len, petal_width)
# 隐藏画笔
turtle.hideturtle()
# 保存图片并显示图片
img = ImageGrab.grab()
img.show()
# 点击窗口关闭画布
turtle.exitonclick()
```
绘制玫瑰:
``` python
import turtle
from PIL import ImageGrab
# 设置画布大小和背景颜色
turtle.setup(width=800, height=600)
turtle.bgcolor("black")
# 定义绘制花朵的函数
def draw_flower(petal_num, petal_len, petal_width, petal_color):
turtle.color(petal_color)
turtle.begin_fill()
for i in range(petal_num):
turtle.circle(petal_len, 60)
turtle.left(120)
turtle.circle(petal_len, 60)
turtle.left(360/petal_num)
turtle.end_fill()
turtle.color("green")
turtle.begin_fill()
turtle.circle(petal_width)
turtle.end_fill()
# 设置画笔初始位置和颜色
turtle.penup()
turtle.goto(0, -200)
turtle.color("red")
# 绘制玫瑰的花瓣
turtle.pendown()
draw_flower(15, 100, 10, "red")
# 绘制玫瑰的花心
turtle.penup()
turtle.goto(0, -100)
turtle.pendown()
turtle.color("yellow")
turtle.begin_fill()
turtle.circle(20)
turtle.end_fill()
# 隐藏画笔
turtle.hideturtle()
# 保存图片并显示图片
img = ImageGrab.grab()
img.show()
# 点击窗口关闭画布
turtle.exitonclick()
```
希望这次的修改能够满足您的需求。如果您还有其他问题,欢迎随时提出。