簡體   English   中英

如何在插入幻燈片后使用 python-pptx 裁剪圖像?

[英]How to crop an image by using python-pptx after it inserted into slide?

我已經使用 python-pptx 將圖像插入到 pptx 中。

我的問題是:插入后如何裁剪(不調整比例)圖像。 假設將頂部裁剪 1 英寸,將底部裁剪 2 英寸。

我的原始代碼如下。 想知道如何根據我的代碼修改代碼?

from pptx import Presentation 
from pptx.util import Inches

img_paths = ['abc.png']


prs = Presentation() 
prs.slide_width = Inches(15)
prs.slide_height = Inches(9)
blank_slide_layout = prs.slide_layouts[0] 


slide = prs.slides.add_slide(blank_slide_layout)


left = Inches(0)
top = Inches(1)
pic = slide.shapes.add_picture(img, left, top, Inches(15))    


prs.save('test.pptx')

您可以使用picture.crop_*方法裁剪圖片。 文檔可在此處找到:

https://python-pptx.readthedocs.io/en/latest/api/shapes.html#picture-objects

但是,裁剪方法占您要裁剪的總圖像的百分比,並且您說要指定英寸。 為此,我們必須計算要刪除的百分比。 像這樣:

from pptx import Presentation 
from pptx.util import Inches

img_paths = ['abc.png']


prs = Presentation() 
prs.slide_width = Inches(15)
prs.slide_height = Inches(9)
blank_slide_layout = prs.slide_layouts[0] 


slide = prs.slides.add_slide(blank_slide_layout)


left = Inches(0)
top = Inches(1)
pic = slide.shapes.add_picture(img, left, top, Inches(15))    

crop_top_in = Inches(1)
crop_bottom_in = Inches(2)

pic.crop_top = crop_top_in / pic.height.inches
pic.crop_bottom = crop_bottom_in / pic.height.inches

prs.save('test.pptx')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM