用python实现将同文件夹下的图片的宽和高扩展为正方形
时间: 2024-03-12 17:45:01 浏览: 16
好的,可以使用Python的Pillow库来实现这个功能。以下是一个简单的实现步骤:
1. 导入Pillow库
```python
from PIL import Image
```
2. 循环读取同文件夹下的每个图片文件
```python
import os
for filename in os.listdir():
if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'):
# 读取图片
image = Image.open(filename)
```
3. 获取图片的宽和高,并确定最大边长
```python
width, height = image.size
max_size = max(width, height)
```
4. 创建一个新的正方形图片,并将原图片粘贴在正方形图片中央
```python
# 创建一个新的正方形图片
square_image = Image.new('RGB', (max_size, max_size), (255, 255, 255))
# 粘贴原图片在正方形图片中央
x = (max_size - width) // 2
y = (max_size - height) // 2
square_image.paste(image, (x, y))
```
5. 保存处理后的图片
```python
# 保存图片
square_image.save('square_' + filename)
```
将以上代码整合成一个完整的程序,完整代码如下:
```python
from PIL import Image
import os
for filename in os.listdir():
if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'):
# 读取图片
image = Image.open(filename)
# 获取图片的宽和高,并确定最大边长
width, height = image.size
max_size = max(width, height)
# 创建一个新的正方形图片
square_image = Image.new('RGB', (max_size, max_size), (255, 255, 255))
# 粘贴原图片在正方形图片中央
x = (max_size - width) // 2
y = (max_size - height) // 2
square_image.paste(image, (x, y))
# 保存图片
square_image.save('square_' + filename)
```
希望这能帮到你!