VSCode Jupyter交互窗口中使用IPython.display设置图片显示尺寸并保持比例
VSCode Jupyter Interactive Window 图片等比例缩放解决方案
方法1:基于PIL修改原图尺寸(需要调整图片本身大小的场景)
原理是先获取原图宽高,按照目标尺寸阈值计算等比例缩放参数,再执行resize操作,避免拉伸变形。
代码示例:
from PIL import Image from IPython.display import display image = Image.open('imageURL') origin_width, origin_height = image.size # 自定义最大边长,也可以指定固定宽度/固定高度作为缩放基准 max_edge = 500 # 计算缩放比例 if origin_width > origin_height: scale = max_edge / origin_width else: scale = max_edge / origin_height new_width = int(origin_width * scale) new_height = int(origin_height * scale) # 兼容新旧版本Pillow的重采样参数 try: resized_image = image.resize((new_width, new_height), Image.Resampling.LANCZOS) except AttributeError: resized_image = image.resize((new_width, new_height), Image.ANTIALIAS) display(resized_image)
方法2:直接调整显示尺寸(仅需控制展示大小的场景,更简便)
不需要修改原图本身,直接使用IPython内置的Image类指定宽度或高度,会自动按原比例适配另一维度,性能更好也不会影响原图质量。
代码示例:
from IPython.display import Image, display # 仅指定宽度,高度自动等比例计算 display(Image('imageURL', width=500)) # 也可以仅指定高度:display(Image('imageURL', height=500))
内容的提问来源于stack exchange,提问作者hanzgs
相关产品推荐
相关产品推荐

