Klona presentationsbilder i C++

Introduktion

Klona är processen att göra en exakt kopia eller replik av något. Aspose.Slides for C++ möjliggör även att skapa en kopia eller klon av vilken bild som helst och sedan infoga den klonade bilden i den aktuella eller någon annan öppen presentation. Processen för bildkloning skapar en ny bild som kan modifieras av utvecklare utan att ändra den ursprungliga bilden. Det finns flera möjliga sätt att klona en bild:

  • Klona i slutet inom en presentation.
  • Klona på en annan position inom en presentation.
  • Klona i slutet i en annan presentation.
  • Klona på en annan position i en annan presentation.
  • Klona på en specifik position i en annan presentation.

In Aspose.Slides for C++ (en samling av ISlide‑objekt) som exponeras av Presentation‑objektet tillhandahåller metoderna AddClone och InsertClone för att utföra ovanstående typer av bildkloning

Klona en bild i slutet av en presentation

Bör du klona en bild och sedan använda den i samma presentationsfil i slutet av de befintliga bilderna, använd metoden AddClone enligt stegen nedan:

  1. Skapa en instans av klassen Presentation.
  2. Instansiera klassen ISlideCollection genom att referera till Slides‑samlingen som exponeras av Presentation‑objektet.
  3. Anropa metoden AddClone som exponeras av ISlideCollection‑objektet och skicka bilden som ska klonas som en parameter till AddClone-metoden.
  4. Skriv den modifierade presentationsfilen.

I exemplet nedan har vi klonat en bild (liggande på den första positionen – nollindex – i presentationen) till slutet av presentationen.

Klona en bild till en annan position inom en presentation

Bör du klona en bild och sedan använda den i samma presentationsfil men på en annan position, använd metoden InsertClone :

  1. Skapa en instans av klassen Presentation.
  2. Instansiera klassen genom att referera till Slides‑samlingen som exponeras av Presentation‑objektet.
  3. Anropa metoden InsertClone som exponeras av ISlideCollection‑objektet och skicka den bild som ska klonas tillsammans med indexet för den nya positionen som en parameter till InsertClone-metoden.
  4. Skriv den modifierade presentationen som en PPTX‑fil.

I exemplet nedan har vi klonat en bild (liggande på nollindex – position 1 – i presentationen) till index 1 – position 2 – i presentationen.

Klona en bild i slutet av en annan presentation

Om du behöver klona en bild från en presentation och använda den i en annan presentationsfil, i slutet av de befintliga bilderna:

  1. Skapa en instans av klassen Presentation som innehåller den presentation som bilden ska klonas från.
  2. Skapa en instans av klassen Presentation som innehåller målpresentationen som bilden ska läggas till i.
  3. Instansiera klassen ISlideCollection genom att referera till Slides‑samlingen som exponeras av Presentation‑objektet i målpresentationen.
  4. Anropa metoden AddClone som exponeras av ISlideCollection‑objektet och skicka bilden från källpresentationen som en parameter till AddClone-metoden.
  5. Skriv den modifierade målpresentationsfilen.

I exemplet nedan har vi klonat en bild (från första indexet i källpresentationen) till slutet av målpresentationen.

Klona en bild till en annan position i en annan presentation

Om du behöver klona en bild från en presentation och använda den i en annan presentationsfil, på en specifik position:

  1. Skapa en instans av klassen Presentation som innehåller källpresentationen som bilden ska klonas från.
  2. Skapa en instans av klassen Presentation som innehåller presentationen som bilden ska läggas till i.
  3. Instansiera klassen ISlideCollection genom att referera till Slides‑samlingen som exponeras av Presentation‑objektet i målpresentationen.
  4. Anropa metoden InsertClone som exponeras av ISlideCollection‑objektet och skicka bilden från källpresentationen tillsammans med önskad position som parameter till InsertClone-metoden.
  5. Skriv den modifierade målpresentationsfilen.

I exemplet nedan har vi klonat en bild (från nollindex i källpresentationen) till index 1 (position 2) i målpresentationen.

Klona en bild på en specifik position i en annan presentation

Om du behöver klona en bild med mästaresignal från en presentation och använda den i en annan presentation, måste du först klona den önskade mästaresignalen från källpresentationen till målpresentationen. Därefter använder du den mästaresignalen för att klona bilden med mästaresignalen. Metoden AddClone(ISlide, IMasterSlide) förväntar sig en mästaresignal från målpresentationen snarare än från källpresentationen. För att klona bilden med mästaresignal, följ stegen nedan:

  1. Skapa en instans av klassen Presentation som innehåller källpresentationen som bilden ska klonas från.
  2. Skapa en instans av klassen Presentation som innehåller målpresentationen som bilden ska klonas till.
  3. Kom åt bilden som ska klonas tillsammans med mästaresignalen.
  4. Instansiera klassen IMasterSlideCollection genom att referera till Masters‑samlingen som exponeras av Presentation‑objektet i målpresentationen.
  5. Anropa metoden AddClone som exponeras av IMasterSlideCollection‑objektet och skicka mästaren från käll‑PPTX som ska klonas som en parameter till AddClone-metoden.
  6. Instansiera klassen ISlideCollection genom att sätta referensen till Slides‑samlingen som exponeras av Presentation‑objektet i målpresentationen.
  7. Anropa metoden AddClone som exponeras av ISlideCollection‑objektet och skicka bilden från källpresentationen som ska klonas samt mästaresignalen som en parameter till AddClone-metoden.
  8. Skriv den modifierade målpresentationsfilen.

I exemplet nedan har vi klonat en bild med mästare (liggande på nollindex i källpresentationen) till slutet av målpresentationen med mästaren från källbilden.

Klona en bild i slutet av ett specificerat avsnitt

Om du vill klona en bild och sedan använda den i samma presentationsfil men i ett annat avsnitt, använd metoden AddClone() som exponeras av gränssnittet ISlideCollection interface. Aspose.Slides for C++ möjliggör att klona en bild från det första avsnittet och sedan infoga den klonade bilden i det andra avsnittet i samma presentation.

Följande kodexempel visar hur du klonar en bild och infogar den klonade bilden i ett specificerat avsnitt.

Säkerställ matchande bildstorlek

När du klonar bilder till en annan presentation, se till att målpresentationen har samma bildstorlek som källan. Om bildstorlekarna skiljer sig, skalar inte Aspose.Slides automatiskt de klonade formerna – deras ursprungliga koordinater och dimensioner bevaras, vilket kan leda till att innehållet blir feljusterat eller sträcker sig utanför bildens kanter.

Du kan sätta målpresentationens bildstorlek så att den matchar källan innan du klonar mästaren och bilden:

auto sourceSize = sourcePresentation->get_SlideSize()->get_Size();

targetPresentation->get_SlideSize()->SetSize(
    sourceSize.get_Width(), sourceSize.get_Height(), SlideSizeScaleType::DoNotScale);

Gör detta innan du klonar mästaren och bilden.

FAQ

Klonas talarnoteringar och granskarkommentarer?

Ja. Noteringssidan och granskarkommentarerna inkluderas i klonen. Om du inte vill ha dem, ta bort dem efter infogning.

Hur hanteras diagram och deras datakällor?

Diagramobjektet, formateringen och de inbäddade data kopieras. Om diagrammet var länkat till en extern källa (t.ex. en OLE‑inbäddad arbetsbok) bevaras den länken som ett OLE-objekt. Efter att ha flyttat mellan filer, kontrollera datatillgänglighet och uppdateringsbeteende.

Kan jag kontrollera infogningspositionen och avsnitten för klonen?

Ja. Du kan infoga klonen på ett specifikt bildindex och placera den i ett valt avsnitt. Om målavsnittet inte finns, skapa det först och flytta sedan bilden dit.