Képek kezelése a PowerPointban Python segítségével
Bevezetés
A képek a bemutatókat élvezetesebbé és érdekesebbé teszik. A Microsoft PowerPointban képeket szúrhat be egy fájlból, az internetről vagy egyéb forrásokból a diákra. Hasonlóan, az Aspose.Slides többféleképpen is lehetővé teszi a képek diákra történő felvételét.
Tip
Az Aspose ingyenes konvertereket kínál — JPEG to PowerPoint és PNG to PowerPoint — amelyekkel gyorsan létrehozhat bemutatókat képekből.Info
Ha képet szeretne keretobjektumként hozzáadni — különösen ha szabványos formázási lehetőségeket, például átméretezést vagy hatások alkalmazását tervezi — tekintse meg a Add Picture Frames to Presentations with Python oldalt.Note
A kép- és bemutató I/O műveleteket használhatja a képek formátumok közötti konvertálására. Lásd ezeket az oldalakat: konvertálás image to JPG; konvertálás JPG to image; konvertálás JPG to PNG; konvertálás PNG to JPG; konvertálás PNG to SVG; és konvertálás SVG to PNG.Az Aspose.Slides támogatja a népszerű formátumú képekkel való munkát, mint a JPEG, PNG, BMP, GIF és egyebek.
Helyi tárolt képek hozzáadása diákhoz
Egy vagy több képet adhat hozzá a számítógépéről egy bemutató diájához. Az alábbi Python példában látható, hogyan adhat hozzá egy képet a diához:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
with open("image.jpeg", "rb") as image_stream:
image = presentation.images.add_image(image_stream)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
presentation.save("presentation_with_image.pptx", slides.export.SaveFormat.PPTX)
Képek webes forrásból való diákra való felvétele
Ha a diára felvenni kívánt kép nem érhető el a számítógépén, közvetlenül a webről szúrhatja be.
Az alábbi Python példa bemutatja, hogyan adhat hozzá egy képet egy URL-ről a diához:
import aspose.slides as slides
import urllib2
import base64
with slides.Presentation() as presentation:
slide = presentation.slides[0]
image_data = base64.b64encode(urllib2.urlopen("[REPLACE WITH URL]").read())
image = presentation.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
presentation.save("presentation.pptx", slides.export.SaveFormat.PPTX)
Képek hozzáadása diamesterhez
A diamester a legfelső szintű dia, amely tárolja és irányítja az információkat — téma, elrendezés stb. — az alatta lévő összes dia számára. Ha képet ad hozzá egy diamasterhez, az a kép minden olyan dián megjelenik, amely azt a mastert használja.
Az alábbi Python példa megmutatja, hogyan adhat hozzá egy képet egy diamasterhez:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
master_slide = slide.layout_slide.master_slide
with open("image.jpeg", "rb") as image_stream:
image = presentation.images.add_image(image_stream)
master_slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
presentation.save("master_with_image.pptx", slides.export.SaveFormat.PPTX)
Kép beállítása dia háttérként
Előfordulhat, hogy egy képet szeretne használni egy adott dia vagy több dia háttérként. Részletekért lásd a Set an Image as the Background for a Slide oldalt.
SVG hozzáadása bemutatókhoz
Bármilyen képet beilleszthet egy bemutatóba a add_picture_frame metódus segítségével a ShapeCollection osztályban.
SVG-ből képtárgy létrehozásához kövesse ezeket a lépéseket:
- Hozzon létre egy SvgImage objektumot, és adja hozzá a bemutató képgyűjteményéhez.
- Hozzon létre egy PPImage objektumot a SvgImage alapján.
- Hozzon létre egy PictureFrame objektumot a PPImage felhasználásával.
Az alábbi Python példa bemutatja, hogyan adhat hozzá egy SVG képet egy bemutatóhoz ezekkel a lépésekkel:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Olvassa be egy SVG fájl tartalmát.
with open("sample.svg", "rt") as image_stream:
svg_content = image_stream.read()
# Hozzon létre egy SvgImage objektumot.
svg_image = slides.SvgImage(svg_content)
# Hozzon létre egy PPImage objektumot.
pp_image = presentation.images.add_image(svg_image)
# Hozzon létre egy új PictureFrame-et.
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 200, 100, pp_image.width, pp_image.height, pp_image)
# Mentse a bemutatót PPTX formátumban.
presentation.save("presentation_with_SVG.pptx", slides.export.SaveFormat.PPTX)
SVG konvertálása alakzatok halmazává
Az Aspose.Slides a SVG-ket alakzatok halmazává konvertálja, hasonló módon, mint a PowerPoint SVG-kezelése.

Ezt a funkciót az add_group_shape metódus egy túlterhelt változata biztosítja a ShapeCollection osztályban, amely első argumentumként egy SvgImage objektumot vár.
Az alábbi minta kód megmutatja, hogyan konvertálhat egy SVG fájlt alakzatok halmazává.
import aspose.slides as slides
with slides.Presentation() as presentation:
# Olvassa be az SVG fájl tartalmát.
with open("sample.svg","rt") as image_stream:
svg_content = image_stream.read()
# Hozzon létre egy SvgImage objektumot.
svg_image = slides.SvgImage(svg_content)
# Szerezze meg a diák méretét.
slide_size = presentation.slide_size.size
# Konvertálja az SVG képet alakzatcsoporttá és méretezze a diák méretére.
presentation.slides[0].shapes.add_group_shape(svg_image, 0, 0, slide_size.width, slide_size.height)
# Mentse a bemutatót PPTX formátumban.
presentation.save("shapes_from_SVG.pptx", slides.export.SaveFormat.PPTX)
Képek EMF-ként való hozzáadása diákhoz
Az Aspose.Slides for Python lehetővé teszi, hogy Enhanced Metafile (EMF) képeket illesszen be a bemutatókba.
Az alábbi Python példa bemutatja ezt:
with slides.Presentation() as presentation:
slide = presentation.slides[0]
with open("image.emf", "rb") as image_stream:
emf_image = presentation.images.add_image(image_stream)
slide_size = presentation.slide_size.size
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 0, 0, slide_size.width, slide_size.height, emf_image)
presentation.save("presentation_with_EMF.pptx", slides.export.SaveFormat.PPTX)
Képek cseréje a képgyűjteményben
Az Aspose.Slides lehetővé teszi a bemutató képgyűjteményében tárolt képek cseréjét, beleértve a dia alakzatok által használtakat is. Ez a szakasz több megközelítést ismertet a gyűjteményben lévő képek frissítésére. Az API egyszerű módszereket kínál egy kép helyettesítésére nyers bájt adatokkal, egy IImage példánnyal vagy egy már meglévő képpel a gyűjteményben.
Kövesse ezeket a lépéseket:
- Töltse be a képeket tartalmazó bemutatót a Presentation osztály segítségével.
- Töltsön be egy új képet egy fájlból bájt tömbbe.
- Cserélje le a célképet az új képre a bájt tömb használatával.
- Alternatívaként töltse be a képet egy IImage objektumba, és cserélje le a célképet ezzel az objektummal.
- Vagy cserélje le a célképet a bemutató képgyűjteményében már létező képre.
- Mentse a módosított bemutatót PPTX fájlként.
def read_all_bytes(file_name):
with open(file_name, "rb") as stream:
return stream.read()
# Példányosítsa a Presentation osztályt, amely egy bemutató fájlt képvisel.
with slides.Presentation("sample.pptx") as presentation:
# Az első mód.
image_data = read_all_bytes("image0.jpeg")
old_image = presentation.images[0]
old_image.replace_image(image_data)
# A második mód.
new_image = slides.Images.from_file("image1.jpeg")
old_image = presentation.images[1]
old_image.replace_image(new_image)
# A harmadik mód.
old_image = presentation.images[2]
old_image.replace_image(presentation.images[3])
# Mentse a bemutatót egy fájlba.
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Info
Az Aspose ingyenes Text to GIF konverterével könnyedén animálhat szöveget és hozhat létre GIF-eket szövegből.GYIK
Megmarad-e az eredeti képfelbontás a beszúrás után?
Igen. A forráspixelok megmaradnak, de a végső megjelenés attól függ, hogyan van a picture méretezve a dián, és a mentéskor alkalmazott tömörítéstől.
Mi a legjobb módja annak, hogy egyszerre több tucat dián cseréljük le ugyanazt a logót?
Helyezze el a logót a master diához vagy egy elrendezéshez, és cserélje ki a bemutató képgyűjteményében — a frissítések minden, az adott erőforrást használó elemre kiterjednek.
Átalakítható-e a beszúrt SVG szerkeszthető alakzatokká?
Igen. Az SVG-t konvertálhatja alakzatcsoporttá, amely után az egyes részek szerkeszthetővé válnak a szabványos alakzat tulajdonságokkal.
Hogyan állíthatok be egy képet egyszerre több dia háttérként?
Állítsa be a képet háttérként a master dián vagy a megfelelő elrendezésen — minden, az adott mastert/elrendezést használó dia örökli a hátteret.
Hogyan akadályozhatom meg, hogy a bemutató nagyméretűvé “felrobbanjon” sok kép miatt?
Használjon egyetlen képernyőforrást a másolatok helyett, válasszon megfelelő felbontást, alkalmazzon tömörítést mentéskor, és ismétlődő grafikákat a masteren tartsa, ahol indokolt.