如何在Python中调整通过PIL ImageGrab从Excel提取的图片尺寸?
使用PIL从Excel提取并放大图片的操作方法
操作流程
- 第一步:选中Excel内需要提取的图片,按
Ctrl+C将图片复制到系统剪贴板 - 第二步:调用
ImageGrab.grabclipboard()读取剪贴板内的图片对象 - 第三步:使用合适的重采样算法放大图片,避免放大后模糊
- 第四步:保存调整后的图片到本地
可直接运行的示例代码
from PIL import Image, ImageGrab # 读取剪贴板内容 clipboard_content = ImageGrab.grabclipboard() # 校验读取结果是否为图片对象 if isinstance(clipboard_content, Image.Image): # 按比例放大2倍,也可自定义为固定宽高 original_w, original_h = clipboard_content.size target_size = (original_w * 2, original_h * 2) # 采用LANCZOS算法重采样,最大限度保留放大后的清晰度 resized_img = clipboard_content.resize(target_size, resample=Image.Resampling.LANCZOS) # 保存图片,支持png、jpg等常见格式 resized_img.save("processed_excel_image.png") else: print("未读取到有效图片,请先复制Excel中的图片再执行代码")
效果示例
- Excel原图:

- 放大后效果:

注意事项
- 若使用PIL 9.1.0之前的版本,将代码中的
Image.Resampling.LANCZOS替换为Image.LANCZOS即可正常运行 - 不需要按比例放大的话,直接将
target_size设置为你需要的固定宽高数值即可 - 批量处理时可依次复制Excel中的图片,循环执行上述逻辑即可
内容的提问来源于stack exchange,提问作者Curious
相关产品推荐
相关产品推荐

