Hantera presentationsbakgrunder i Python

Introduktion

Solida färger, gradienter och bilder används ofta som bakgrund för bilder. Du kan ställa in bakgrunden för en normal bild (en enstaka bild) eller en masterbild (gäller för flera bilder samtidigt).

PowerPoint-bakgrund

Ställ in en solid färgbakgrund för en normal bild

Aspose.Slides låter dig ange en solid färg som bakgrund för en specifik bild i en presentation—även om presentationen använder en masterbild. Ändringen gäller endast den valda bilden.

  1. Skapa en instans av klassen Presentation.
  2. Ställ in bildens BackgroundType till OWN_BACKGROUND.
  3. Ställ in bildbakgrundens FillType till SOLID.
  4. Använd egenskapen solid_fill_colorFillFormat för att ange den solida bakgrundsfärgen.
  5. Spara den modifierade presentationen.

Följande Python‑exempel visar hur du ställer in en blå solid färg som bakgrund för en normal bild:

import aspose.pydrawing as draw
import aspose.slides as slides

# Skapa en instans av Presentation-klassen.
with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    # Ställ in bakgrundsfärgen på bilden till blå.
    slide.background.type = slides.BackgroundType.OWN_BACKGROUND
    slide.background.fill_format.fill_type = slides.FillType.SOLID
    slide.background.fill_format.solid_fill_color.color = draw.Color.blue

    # Spara presentationen till disk.
    presentation.save("SolidColorBackground.pptx", slides.export.SaveFormat.PPTX)

Ställ in en solid färgbakgrund för masterbilden

Aspose.Slides låter dig ange en solid färg som bakgrund för masterbilden i en presentation. Masterbilden fungerar som en mall som styr formatering för alla bilder, så när du väljer en solid färg för masterbildens bakgrund gäller den för varje bild.

  1. Skapa en instans av klassen Presentation.
  2. Ställ in masterbildens BackgroundType (via masters) till OWN_BACKGROUND.
  3. Ställ in masterbildens bakgrund FillType till SOLID.
  4. Använd egenskapen solid_fill_colorFillFormat för att ange den solida bakgrundsfärgen.
  5. Spara den modifierade presentationen.

Följande Python‑exempel visar hur du ställer in en solid färg (skoggrön) som bakgrund för en masterbild:

import aspose.pydrawing as draw
import aspose.slides as slides

# Skapa en instans av Presentation-klassen.
with slides.Presentation() as presentation:
    master_slide = presentation.masters[0]

    # Ställ in bakgrundsfärgen för masterbilden till skogsgrön.
    master_slide.background.type = slides.BackgroundType.OWN_BACKGROUND
    master_slide.background.fill_format.fill_type = slides.FillType.SOLID
    master_slide.background.fill_format.solid_fill_color.color = draw.Color.forest_green

    # Spara presentationen till disk.
    presentation.save("MasterSlideBackground.pptx", slides.export.SaveFormat.PPTX)

Ställ in en gradientbakgrund för en bild

En gradient är en grafisk effekt som skapas av en gradvis färgförändring. När den används som bildbakgrund kan gradienter göra presentationer mer konstnärliga och professionella. Aspose.Slides låter dig ange en gradientfärg som bakgrund för bilder.

  1. Skapa en instans av klassen Presentation.
  2. Ställ in bildens BackgroundType till OWN_BACKGROUND.
  3. Ställ in bildbakgrundens FillType till GRADIENT.
  4. Använd egenskapen gradient_formatFillFormat för att konfigurera dina önskade gradientinställningar.
  5. Spara den modifierade presentationen.

Följande Python‑exempel visar hur du anger en gradientfärg som bakgrund för en bild:

import aspose.slides as slides

# Skapa en instans av Presentation-klassen.
with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    # Applicera en gradienteffekt på bakgrunden.
    slide.background.type = slides.BackgroundType.OWN_BACKGROUND
    slide.background.fill_format.fill_type = slides.FillType.GRADIENT
    slide.background.fill_format.gradient_format.tile_flip = slides.TileFlip.FLIP_BOTH

    # Spara presentationen till disk.
    presentation.save("GradientBackground.pptx", slides.export.SaveFormat.PPTX)

Ställ in en bild som bakgrund för en bild

Förutom solida och gradientfyllningar låter Aspose.Slides dig använda bilder som bildbakgrunder.

  1. Skapa en instans av klassen Presentation.
  2. Ställ in bildens BackgroundType till OWN_BACKGROUND.
  3. Ställ in bildbakgrundens FillType till PICTURE.
  4. Läs in bilden du vill använda som bildbakgrund.
  5. Lägg till bilden i presentationens bildsamling.
  6. Använd egenskapen picture_fill_formatFillFormat för att tilldela bilden som bakgrund.
  7. Spara den modifierade presentationen.

Följande Python‑exempel visar hur du anger en bild som bakgrund för en bild:

import aspose.slides as slides

# Skapa en instans av Presentation-klassen.
with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    # Ställ in bakgrundsbildens egenskaper.
    slide.background.type = slides.BackgroundType.OWN_BACKGROUND
    slide.background.fill_format.fill_type = slides.FillType.PICTURE
    slide.background.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH

    # Läs in bilden.
    with slides.Images.from_file("Tulips.jpg") as image:
        # Lägg till bilden i presentationens bildsamling.
        pp_image = presentation.images.add_image(image)

    slide.background.fill_format.picture_fill_format.picture.image = pp_image

    # Spara presentationen till disk.
    presentation.save("ImageAsBackground.pptx", slides.export.SaveFormat.PPTX)

Följande kodexempel visar hur du ställer in bakgrundens fyllningstyp till en kaklad bild och modifierar kaklingsegenskaperna:

import aspose.slides as slides

with slides.Presentation() as presentation:

    first_slide = presentation.slides[0]

    background = first_slide.background

    background.type = slides.BackgroundType.OWN_BACKGROUND
    background.fill_format.fill_type = slides.FillType.PICTURE

    with slides.Images.from_file("image.png") as new_image:
        pp_image = presentation.images.add_image(new_image)

    # Ange bilden som används för bakgrundsfyllning.
    back_picture_fill_format = background.fill_format.picture_fill_format
    back_picture_fill_format.picture.image = pp_image

    # Ange bildfyllningsläget till Kakla och justera kakleegenskaperna.
    back_picture_fill_format.picture_fill_mode = slides.PictureFillMode.TILE
    back_picture_fill_format.tile_offset_x = 15.0
    back_picture_fill_format.tile_offset_y = 15.0
    back_picture_fill_format.tile_scale_x = 46.0
    back_picture_fill_format.tile_scale_y = 87.0
    back_picture_fill_format.tile_alignment = slides.RectangleAlignment.CENTER
    back_picture_fill_format.tile_flip = slides.TileFlip.FLIP_Y

    presentation.save("TileBackground.pptx", slides.export.SaveFormat.PPTX)

Ändra bakgrundsbildens transparens

Du kanske vill justera transparensen för en bildbakgrund för att få bildens innehåll att framträda tydligare. Följande Python‑kod visar hur du ändrar transparensen för en bildbakgrund:

transparency_value = 30  # Till exempel.

# Hämta samlingen av bildtransformationsoperationer.
image_transform = slide.background.fill_format.picture_fill_format.picture.image_transform

transparency_operation = None

# Hitta en befintlig fast-procent transparenseffekt.
for operation in image_transform:
    if type(operation) is slides.AlphaModulateFixed:
        transparency_operation = operation
        break

# Ställ in det nya transparensvärdet.
if transparency_operation is None:
    image_transform.add_alpha_modulate_fixed_effect(100 - transparency_value)
else:
    transparency_operation.amount = 100 - transparency_value

Hämta bildens bakgrundsvärde

Aspose.Slides tillhandahåller klassen IBackgroundEffectiveData för att hämta en bilds effektiva bakgrundsvärden. Denna klass exponerar den effektiva FillFormat och EffectFormat.

Genom att använda klassens BaseSlide background‑egenskap kan du erhålla den effektiva bakgrunden för en bild.

Följande Python‑exempel visar hur du får en bilds effektiva bakgrundsvärde:

import aspose.slides as slides

# Skapa en instans av Presentation-klassen.
with slides.Presentation("Sample.pptx") as presentation:
    slide = presentation.slides[0]

    # Hämta den effektiva bakgrunden, med hänsyn till master, layout och tema.
    effective_background = slide.background.get_effective()

    if effective_background.fill_format.fill_type == slides.FillType.SOLID:
        color = effective_background.fill_format.solid_fill_color
        print(f"Fill color: Color [A={color.a}, R={color.r}, G={color.g}, B={color.b}]")
    else:
        print("Fill type:", str(effective_background.fill_format.fill_type))

Vanliga frågor

Kan jag återställa en anpassad bakgrund och återställa temats/layoutebakgrund?

Ja. Ta bort bildens anpassade fyllning så ärvs bakgrunden återigen från motsvarande layout/master bild (dvs. tema‑bakgrund).

Vad händer med bakgrunden om jag ändrar presentationens tema senare?

Om en bild har sin egen fyllning förblir den oförändrad. Om bakgrunden ärvs från layout/master uppdateras den så att den matchar det nya temat.