python做一个小猫咪动态
时间: 2024-09-29 18:01:45 浏览: 23
在Python中制作一个小猫咪动态,我们可以利用PIL(Pillow)库来创建简单的图像处理动画。下面是一个基本的例子,展示如何使用`ImageDraw`模块画出一只简化的动态小猫:
```python
import os
from PIL import Image, ImageDraw, ImageFont
# 定义小猫咪的形状
def draw_cat(x, y):
img = Image.new('RGB', (50, 50), color='white')
draw = ImageDraw.Draw(img)
draw.rectangle([(10, 10), (40, 40)], fill='black') # 眼睛
draw.rectangle([(15, 20), (35, 30)], fill='black') # 鼻子
draw.line([(15, 25), (25, 35)], fill='black') # 上唇线
draw.line([(25, 25), (15, 35)], fill='black') # 下唇线
img.paste(Image.open('cat_face.png'), (x, y)) # 小猫的脸部贴图
return img
# 创建一个空白画布
canvas = Image.new('RGB', (200, 200))
font = ImageFont.truetype("arial.ttf", size=24)
# 动态效果设置
delay = 100 # 每帧延迟时间(毫秒)
frames = 50 # 总帧数
for i in range(frames):
x = i * 30 # 小猫咪从左向右移动
cat = draw_cat(x, 75) # 画出小猫
canvas.paste(cat, (0, 0)) # 在画布上放置小猫
text = f"Frame {i+1}/{frames}"
canvas_draw = ImageDraw.Draw(canvas)
canvas_draw.text((10, 10), text, font=font, fill=(0, 0, 0))
# 保存每一帧
canvas.save(f"frame_{i}.png", 'PNG')
if i < frames - 1:
canvas.show() # 显示进度帧
time.sleep(delay / 1000.0)
print("Animation complete.")