我有一个长方形图片,做最长边的正方形,并使这个长方形图片处于新正方形的中间
时间: 2024-12-28 14:29:55 浏览: 4
如果你有这样一个长方形图片,并想将其内容居中显示在正方形中,可以按照以下步骤进行操作。这里我们假设你已经有了一个名为`long_rectangle.png`的图片。以下是使用Python的PIL库来实现的简单代码示例:
```python
from PIL import Image
def resize_to_square_and_center(input_image_path, output_image_path):
with Image.open(input_image_path) as im:
# 获取原始图片的尺寸
width, height = im.size
# 计算最大边的长度
max_side = max(width, height)
# 裁剪图片并保持宽高比,创建一个新的正方形
new_im = im.resize((max_side, max_side), resample=Image.LANCZOS)
# 计算原始图片在新正方形中的位置
left = (max_side - width) // 2
top = (max_side - height) // 2
# 使用切割功能在新正方形上裁出包含原始长方形区域的部分
cropped_im = new_im.crop((left, top, left + width, top + height))
# 保存裁剪后的图片
cropped_im.save(output_image_path)
resize_to_square_and_center("long_rectangle.png", "centered_square.png")
```
这个函数会打开输入的长方形图片,将其裁剪并缩放到最大的边长,同时保证内容居中。裁剪后的图片会被保存到指定的输出路径。
阅读全文