You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python Pillow将图片居中合并到另一张图片中?

实现图片居中合并的Pillow代码修改

要让im2在im1中完美居中,核心是动态计算粘贴坐标,而非使用硬编码的固定值。具体实现步骤如下:

  1. 获取两张图片的宽高尺寸
  2. 计算居中偏移量:
    • x坐标 = (背景图宽度 - 前景图宽度) // 2
    • y坐标 = (背景图高度 - 前景图高度) // 2
  3. 用计算出的坐标执行粘贴操作

修改后的完整代码:

from PIL import Image

im1 = Image.open('image1.png')
im2 = Image.open('image2.png')
back_im = im1.copy()

# 计算居中坐标
x = (im1.width - im2.width) // 2
y = (im1.height - im2.height) // 2

back_im.paste(im2, (x, y))
back_im.save('newimg.png', quality=95)

补充说明

  • 使用整数除法//是因为图片坐标必须为整数
  • 如果im2尺寸大于im1,计算出的x/y会是负数,此时im2会从左上角超出im1范围,仅显示部分内容。若需适配这种场景,可先缩放im2:
# 示例:将im2缩放到不超过im1的尺寸
scale = min(im1.width / im2.width, im1.height / im2.height)
new_size = (int(im2.width * scale), int(im2.height * scale))
im2_resized = im2.resize(new_size)
# 重新计算居中坐标
x = (im1.width - im2_resized.width) // 2
y = (im1.height - im2_resized.height) // 2
back_im.paste(im2_resized, (x, y))

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 07:34:58