python将一个图片以田字格形式分成四个区域,分别设置为不同的颜色,每秒顺时针轮播一次
时间: 2024-11-06 13:13:51 浏览: 10
python打印由1中列表的内容构成一个“田”字格图形,长度可任意指定输入。
5星 · 资源好评率100%
在Python中,你可以使用PIL(Python Imaging Library)或者其更新版本Pillow库来处理图像,并结合time模块实现定时切换。以下是一个简单的示例,说明如何将一张图片分为四个相等的部分并改变颜色:
```python
from PIL import Image, ImageDraw
import time
# 打开图片
image = Image.open('your_image.png')
width, height = image.size
# 创建一个新的画布,大小是原图的一半
half_width = width // 2
half_height = height // 2
new_image = Image.new('RGB', (half_width * 2, half_height * 2))
# 分别获取四个部分
part1 = image.crop((0, 0, half_width, half_height))
part2 = image.crop((half_width, 0, width, half_height))
part3 = image.crop((0, half_height, half_width, height))
part4 = image.crop((half_width, half_height, width, height))
# 设置每个部分的颜色,这里假设你想要的四种颜色
colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0)] # 红、绿、蓝、黄
for i, color in enumerate(colors):
part = getattr(new_image, f'draw_{i+1}') or new_image.draw() # 切换到对应部分绘制
part.rectangle([(i*half_width, i*half_height), ((i+1)*half_width, (i+1)*half_height)], fill=color)
# 定义一个函数用于每次循环时更改颜色并保存
def rotate_colors():
for j in range(4): # 四种颜色循环
part1.save(f'quarter_{j}.png') # 保存当前部分
part1.load()
part1.paste(part2, box=(0, 0)) # 每次移动一个部分到上一个位置
part2.load()
part2.paste(part3, box=(0, 0))
part3.load()
part3.paste(part4, box=(0, 0))
part4.load()
part4.paste(part1, box=(0, 0)) # 将第一个部分放回中心
# 每秒旋转颜色
while True:
rotate_colors()
time.sleep(1) # 等待1秒
阅读全文