10

我需要将图像添加到 pptx 幻灯片中,并希望将其定位在幻灯片的中心,而无需手动计算大小和对齐方式,

我发现了一个关于使用文本这样做的问题: 关于居中对齐文本的问题

以及有关使用文本执行此操作的文档: 有关居中对齐文本的文档

但是找不到图像的方法,

想法?

4

2 回答 2

12

它的工作方式与文本不同。图像上没有中心对齐或对齐属性。你需要使用一个公式。

image.left = (prs.slide_width - image.width) / 2
于 2016-10-20T18:51:53.793 回答
3

回答 2020 年 8 月 13 日

这对我有用:

from pptx import Presentation
from pptx.util import Inches
from PIL import Image


# instantiate presentation
prs = Presentation()

# change slide sizes to Widescreen
slide_size = (16, 9)
prs.slide_width, prs.slide_height = Inches(slide_size[0]), Inches(slide_size[1])

# convert pixels to inches
def px_to_inches(path):
    
    im = Image.open(path)
    width = im.width / im.info['dpi'][0]
    height = im.height / im.info['dpi'][1]
    
    return (width, height)

img = px_to_inches('logo.png')

# insert logo image
left = Inches(slide_size[0] - img[0]) / 2
top = Inches(slide_size[1] - img[1]) / 2
pic = slide.shapes.add_picture('logo.png', left, top)
于 2020-08-13T13:34:33.463 回答