系统信息
外部访问地址:
启动时间: 2024-08-29 16:11
版本: 2.19.0-rc.3
构建时间: 2024-08-29 13:59
Git Commit: 5bd6d91
Java: IBM Semeru Runtime Open Edition / 21.0.4+7-LTS
数据库: H2 / 2.2.224
操作系统: Linux / 5.10.120
已激活主题: Hao 1.5.7
已启动插件:
使用的哪种方式运行?
Docker
发生了什么?
无法保存
复现步骤
'''python
from PIL import Image
class ImageProcessor:
def __init__(self):
pass
def resize_and_pad(self, img_path=None,img = None,target_size=(512, 512)):
"""
调整图像大小并填充到目标尺寸。
Parameters:
target_size (tuple): 目标尺寸 (width, height)。默认为 (512, 512)。
Returns:
Image: 处理后的图像。
"""
if not img:
img = Image.open(img_path)
if img.width > img.height:
img = img.rotate(90, expand=True)
aspect_ratio = img.width / img.height
if aspect_ratio > 1:
new_width = min(target_size[0], img.width)
new_height = int(new_width / aspect_ratio)
else:
new_height = min(target_size[1], img.height)
new_width = int(new_height * aspect_ratio)
img_resized = img.resize((new_width, new_height), Image.LANCZOS)
new_img = Image.new("RGB", target_size, (255, 255, 255))
x1 = (target_size[0] - new_width) // 2
y1 = (target_size[1] - new_height) // 2
new_img.paste(img_resized, (x1, y1))
return new_img
def rotate_90_degrees(self):
"""
将图像顺时针旋转 90 度四次,并返回四张旋转后的图像。
Returns:
list: 包含四张旋转后图像的列表。
"""
rotated_images = []
img = self.img
for _ in range(4):
img = img.rotate(90, expand=True)
rotated_images.append(img.copy())
return rotated_images
if __name__ == '__main__':
img_processor = ImageProcessor()
result_img = img_processor.resize_and_pad("/Users/quxiaopang/Desktop/12222222.jpeg")
result_img.show()
'''
相关日志输出
No response
附加信息
No response
2条答案
按热度按时间9o685dep1#
测试代码:
test.py.zip
pobjuy322#
未复现此问题,建议检查是否是 Nginx 或者防火墙拦截。
/triage needs-information