python画 烟花
时间: 2024-09-27 16:01:27 浏览: 41
在Python中,可以利用PIL(Python Imaging Library)或者其更新版本Pillow库以及random模块来模拟烟花的效果。以下是一个简单的示例,展示了如何通过随机生成点的位置和颜色来创建基本的烟花动画:
```python
import random
from PIL import Image, ImageDraw
# 定义画布大小
canvas_size = (500, 500)
img = Image.new('RGB', canvas_size, color='black')
draw = ImageDraw.Draw(img)
# 设置烟花的持续时间和最大数量
duration = 3
num_bursts = 10
for i in range(num_bursts):
# 随机位置和颜色
x = random.randint(0, canvas_size[0])
y = random.randint(0, canvas_size[1])
r = random.randint(20, 50) # 爆炸半径
g = random.randint(0, 255)
b = random.randint(0, 255)
for j in range(duration):
draw.ellipse((x-r, y-r, x+r, y+r), fill=(g, b, 0)) # 红色表示火药爆炸后的效果
img.save(f"firework_{i}_{j}.png", "PNG") # 每帧保存图片
# 如果需要动画效果,可以稍微延迟再绘制下一帧
# time.sleep(0.05) # 取消这一行则无动画效果,仅保存单张图片
```
这个脚本会生成一系列的动态烟花图片,每个烟花会在指定的时间内从中心向外扩散。如果想要实现真正的动画效果,可以在循环内部添加时间间隔。
阅读全文