PowerPoint alakzatok formázása .NET-ben

Bevezetés

A PowerPointban alakzatokat adhat hozzá a diahoz. Mivel az alakzatok vonalakból állnak, formázhatja őket a körvonalak módosításával vagy hatások alkalmazásával. Emellett beállítások megadásával formázhatja az alakzatok belsejét, amelyek szabályozzák a kitöltést.

format-shape-powerpoint

Az Aspose.Slides for .NET interfészeket és tulajdonságokat biztosít, amelyek lehetővé teszik alakzatok formázását a PowerPointban elérhető ugyanazokkal a beállításokkal.

Vonalak formázása

Az Aspose.Slides segítségével egy alakzat egyéni vonalstílusát adhatja meg. Az alábbi lépések foglalják össze az eljárást:

  1. Hozzon létre egy példányt a Presentation osztályból.
  2. Szerezzen referenciát egy diára az indexe alapján.
  3. Adjon egy IAutoShape elemet a diához.
  4. Állítsa be az alakzat line style értékét.
  5. Állítsa be a vonal szélességét.
  6. Állítsa be a vonal dash style értékét.
  7. Állítsa be a vonal színét az alakzatra.
  8. Mentse a módosított prezentációt PPTX fájlként.

Az alábbi C# kód bemutatja, hogyan formázhat egy téglalap AutoShape-ot:

// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Kapja meg az első diát.
    ISlide slide = presentation.Slides[0];

    // Adjon hozzá egy automatikus alakzatot Rectangle típusban.
    IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // Állítsa be a téglalap alakzat kitöltő színét.
    shape.FillFormat.FillType = FillType.NoFill;

    // Alkalmazzon formázást a téglalap vonalaira.
    shape.LineFormat.Style = LineStyle.ThickThin;
    shape.LineFormat.Width = 7;
    shape.LineFormat.DashStyle = LineDashStyle.Dash;

    // Állítsa be a téglalap vonalának színét.
    shape.LineFormat.FillFormat.FillType = FillType.Solid;
    shape.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue;

    // Mentse a PPTX fájlt a lemezen.
    presentation.Save("formatted_lines.pptx", SaveFormat.Pptx);
}

Az eredmény:

A formázott vonalak a prezentációban

Csatlakozási stílusok formázása

A három csatlakozási típus opciója a következő:

  • Kerek
  • Sarok
  • Ferde

Alapértelmezés szerint, amikor a PowerPoint két vonalat szögben (például egy alakzat sarkán) egyesít, a Kerek beállítást használja. Ha azonban éles szögekkel rendelkező alakzatot rajzol, előnyben részesítheti a Szarok opciót.

A csatlakozási stílus a prezentációban

Az alábbi C# kód bemutatja, hogyan hoztak létre három téglalapot (az előző képen látható módon) a Miter, Bevel és Round csatlakozási típus beállításokkal:

// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Szerezze meg az első diát.
    ISlide slide = presentation.Slides[0];

    // Adjon hozzá három automatikus alakzatot Rectangle típusban.
    IAutoShape shape1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 150, 75);
    IAutoShape shape2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 210, 20, 150, 75);
    IAutoShape shape3 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 135, 150, 75);

    // Állítsa be a kitöltő színt minden téglalap alakzatra.
    shape1.FillFormat.FillType = FillType.Solid;
    shape1.FillFormat.SolidFillColor.Color = Color.Black;
    shape2.FillFormat.FillType = FillType.Solid;
    shape2.FillFormat.SolidFillColor.Color = Color.Black;
    shape3.FillFormat.FillType = FillType.Solid;
    shape3.FillFormat.SolidFillColor.Color = Color.Black;

    // Állítsa be a vonal vastagságát.
    shape1.LineFormat.Width = 15;
    shape2.LineFormat.Width = 15;
    shape3.LineFormat.Width = 15;

    // Állítsa be a vonal színét minden téglalaphoz.
    shape1.LineFormat.FillFormat.FillType = FillType.Solid;
    shape1.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue;
    shape2.LineFormat.FillFormat.FillType = FillType.Solid;
    shape2.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue;
    shape3.LineFormat.FillFormat.FillType = FillType.Solid;
    shape3.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue;

    // Állítsa be a csatlakozási stílust.
    shape1.LineFormat.JoinStyle = LineJoinStyle.Miter;
    shape2.LineFormat.JoinStyle = LineJoinStyle.Bevel;
    shape3.LineFormat.JoinStyle = LineJoinStyle.Round;

    // Adjon szöveget minden téglalaphoz.
    shape1.TextFrame.Text = "Miter Join Style";
    shape2.TextFrame.Text = "Bevel Join Style";
    shape3.TextFrame.Text = "Round Join Style";

    // Mentse a PPTX fájlt a lemezen.
    presentation.Save("join_styles.pptx", SaveFormat.Pptx);
}

Színátmenetes kitöltés

A PowerPointban a Színátmenetes kitöltés egy formázási lehetőség, amely lehetővé teszi, hogy folyamatos színátmenetet alkalmazzon egy alakzatra. Például két vagy több színt is alkalmazhat úgy, hogy az egyik fokozatosan elhalványul a másikba.

Az alábbiakban bemutatjuk, hogyan alkalmazhat színátmenetes kitöltést egy alakzatra az Aspose.Slides segítségével:

  1. Hozzon létre egy példányt a Presentation osztályból.
  2. Szerezzen referenciát egy diára az indexe alapján.
  3. Adjon egy IAutoShape elemet a diához.
  4. Állítsa be az alakzat FillType értékét Gradient-ra.
  5. Adja hozzá a két kívánt színt meghatározott pozíciókkal a IGradientFormat interfész által biztosított gradient stop gyűjtemény Add metódusával.
  6. Mentse a módosított prezentációt PPTX fájlként.
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Szerezze meg az első diát.
    ISlide slide = presentation.Slides[0];

    // Adjon hozzá egy automatikus alakzatot Ellipse típusban.
    IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 50, 150, 75);

    // Alkalmazzon színátmenetes formázást az ellipszisre.
    shape.FillFormat.FillType = FillType.Gradient;
    shape.FillFormat.GradientFormat.GradientShape = GradientShape.Linear;

    // Állítsa be a színátmenet irányát.
    shape.FillFormat.GradientFormat.GradientDirection = GradientDirection.FromCorner2;

    // Adjon hozzá két színátmeneti állomást.
    shape.FillFormat.GradientFormat.GradientStops.Add(1.0f, PresetColor.Purple);
    shape.FillFormat.GradientFormat.GradientStops.Add(0.0f, PresetColor.Red);

    // Mentse a PPTX fájlt a lemezen.
    presentation.Save("gradient_fill.pptx", SaveFormat.Pptx);
}

Az ellipszis színátmenetes kitöltéssel

Minta kitöltés

A PowerPointban a Minta kitöltés egy formázási lehetőség, amely lehetővé teszi két színű minták (például pontok, csíkok, keresztminták vagy négyzethálók) alkalmazását egy alakzatra. Egyéni színeket választhat a minta előtér és háttér színéhez.

Az Aspose.Slides több mint 45 előre definiált minta stílust kínál, amelyeket alakzatokra alkalmazhat a prezentációk vizuális vonzerejének növelésére. Még az előre definiált minta kiválasztása után is megadhatja a pontos színeket, amelyeket használni kíván.

  1. Hozzon létre egy példányt a Presentation osztályból.
  2. Szerezzen referenciát egy diára az indexe alapján.
  3. Adjon egy IAutoShape elemet a diához.
  4. Állítsa be az alakzat FillType értékét Pattern-re.
  5. Válasszon egy minta stílust a előre definiált lehetőségek közül.
  6. Állítsa be a minta Background Color értékét.
  7. Állítsa be a minta Foreground Color értékét.
  8. Mentse a módosított prezentációt PPTX fájlként.
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Szerezze meg az első diát.
    ISlide slide = presentation.Slides[0];

    // Adjon hozzá egy automatikus alakzatot Rectangle típusban.
    IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // Állítsa be a kitöltés típusát Pattern-re.
    shape.FillFormat.FillType = FillType.Pattern;

    // Állítsa be a minta stílust.
    shape.FillFormat.PatternFormat.PatternStyle = PatternStyle.Trellis;

    // Állítsa be a minta háttér- és előtérszíneket.
    shape.FillFormat.PatternFormat.BackColor.Color = Color.LightGray;
    shape.FillFormat.PatternFormat.ForeColor.Color = Color.Yellow;

    // Mentse a PPTX fájlt a lemezen.
    presentation.Save("pattern_fill.pptx", SaveFormat.Pptx);
}

A téglalap mintás kitöltéssel

Kép kitöltés

A PowerPointban a Kép kitöltés egy formázási lehetőség, amely lehetővé teszi egy képernyő beillesztését egy alakzatba – ezáltal a képet az alakzat háttérként használja.

  1. Hozzon létre egy példányt a Presentation osztályból.
  2. Szerezzen referenciát egy diára az indexe alapján.
  3. Adjon egy IAutoShape elemet a diához.
  4. Állítsa be az alakzat FillType értékét Picture-ra.
  5. Állítsa be a kép kitöltés módját Tile-re (vagy egy másik kívánt módra).
  6. Hozzon létre egy IPPImage objektumot a használni kívánt képből.
  7. Rendelje hozzá ezt a képet a forma Picture.Image tulajdonságához a PictureFillFormat-ban.
  8. Mentse a módosított prezentációt PPTX fájlként.

Tegyük fel, hogy van egy “lotus.png” fájl a következő képpel:

A lotus kép

// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Szerezze meg az első diát.
    ISlide slide = presentation.Slides[0];

    // Adjon hozzá egy automatikus alakzatot Rectangle típusban.
    IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 255, 130);

    // Állítsa be a kitöltés típusát Picture-re.
    shape.FillFormat.FillType = FillType.Picture;

    // Állítsa be a kép kitöltés módját.
    shape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Tile;

    // Töltsön be egy képet és adja hozzá a prezentáció erőforrásaihoz.
    IImage image = Images.FromFile("lotus.png");
    IPPImage presentationImage = presentation.Images.AddImage(image);
    image.Dispose();

    // Állítsa be a képet.
    shape.FillFormat.PictureFillFormat.Picture.Image = presentationImage;

    // Mentse a PPTX fájlt a lemezen.
    presentation.Save("picture_fill.pptx", SaveFormat.Pptx);
}

Az alakzat kép kitöltéssel

Mozaik kép textúraként

Ha mozaik képet szeretne beállítani textúraként, és testreszabni a mozaik viselkedését, az alábbi IPictureFillFormat interfész és PictureFillFormat osztály tulajdonságait használhatja:

  • PictureFillMode: Beállítja a kép kitöltés módját – Tile vagy Stretch.
  • TileAlignment: Meghatározza a csempék igazítását az alakzaton belül.
  • TileFlip: Ellenőrzi, hogy a csempe vízszintesen, függőlegesen vagy mindkettőre legyen-e tükrözve.
  • TileOffsetX: Beállítja a csempe vízszintes eltolását (pontban) az alakzat kiindulási pontjától.
  • TileOffsetY: Beállítja a csempe függőleges eltolását (pontban) az alakzat kiindulási pontjától.
  • TileScaleX: Meghatározza a csempe vízszintes méretezését százalékban.
  • TileScaleY: Meghatározza a csempe függőleges méretezését százalékban.
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Szerezze meg az első diát.
    ISlide firstSlide = presentation.Slides[0];

    // Adjon hozzá egy téglalap auto shape-et.
    IAutoShape shape = firstSlide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 190, 95);

    // Állítsa be az alakzat kitöltés típusát Picture-re.
    shape.FillFormat.FillType = FillType.Picture;

    // Töltse be a képet és adja hozzá a prezentáció erőforrásaihoz.
    IPPImage presentationImage;
    using (IImage sourceImage = Images.FromFile("lotus.png"))
        presentationImage = presentation.Images.AddImage(sourceImage);

    // Rendelje hozzá a képet az alakzathoz.
    IPictureFillFormat pictureFillFormat = shape.FillFormat.PictureFillFormat;
    pictureFillFormat.Picture.Image = presentationImage;

    // Állítsa be a képkitöltés módját és a csempézés tulajdonságait.
    pictureFillFormat.PictureFillMode = PictureFillMode.Tile;
    pictureFillFormat.TileOffsetX = -32;
    pictureFillFormat.TileOffsetY = -32;
    pictureFillFormat.TileScaleX = 50;
    pictureFillFormat.TileScaleY = 50;
    pictureFillFormat.TileAlignment = RectangleAlignment.BottomRight;
    pictureFillFormat.TileFlip = TileFlip.FlipBoth;

    // Mentse a PPTX fájlt a lemezen.
    presentation.Save("tile.pptx", SaveFormat.Pptx);
}

A csempe beállítások

Egyszínű kitöltés

A PowerPointban az Egyszínű kitöltés egy formázási lehetőség, amely egyetlen, egységes színnel tölti ki az alakzatot. Ez az egyszerű háttérszín alkalmazásra kerül gradiensek, textúrák vagy minták nélkül.

  1. Hozzon létre egy példányt a Presentation osztályból.
  2. Szerezzen referenciát egy diára az indexe alapján.
  3. Adjon egy IAutoShape elemet a diához.
  4. Állítsa be az alakzat FillType értékét Solid-ra.
  5. Rendelje a kívánt kitöltő színt az alakzathoz.
  6. Mentse a módosított prezentációt PPTX fájlként.
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Szerezze meg az első diát.
    ISlide slide = presentation.Slides[0];

    // Adjon hozzá egy automatikus alakzatot Rectangle típusban.
    IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // Állítsa be a kitöltés típusát Solid-re.
    shape.FillFormat.FillType = FillType.Solid;

    // Állítsa be a kitöltő színt.
    shape.FillFormat.SolidFillColor.Color = Color.Yellow;

    // Mentse a PPTX fájlt a lemezen.
    presentation.Save("solid_color_fill.pptx", SaveFormat.Pptx);
}

Az alakzat egyszínű kitöltéssel

Átlátszóság beállítása

A PowerPointban, amikor egyszínű, színátmenetes, kép vagy textúra kitöltést alkalmaz a alakzatokra, beállíthat egy átlátszósági szintet is a kitöltés átlátszatlanságának szabályozásához. A magasabb átlátszósági érték átlátszóbbá teszi az alakzatot, így a háttér vagy az alatta lévő objektumok részben láthatóak lesznek.

Az Aspose.Slides lehetővé teszi az átlátszósági szint beállítását a kitöltéshez használt szín alfa értékének módosításával. Íme, hogyan teheti ezt:

  1. Hozzon létre egy példányt a Presentation osztályból.
  2. Szerezzen referenciát egy diára az indexe alapján.
  3. Adjon egy IAutoShape elemet a diához.
  4. Állítsa be a FillType értékét Solid-ra.
  5. Használja a Color.FromArgb(alpha, baseColor) metódust egy átlátszó szín definiálásához (az alpha komponens szabályozza az átlátszóságot).
  6. Mentse a prezentációt.
const int alpha = 128;

// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Szerezze meg az első diát.
    ISlide slide = presentation.Slides[0];

    // Adjon hozzá egy szilárd téglalap auto shape-et.
    IAutoShape solidShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // Adjon hozzá egy átlátszó téglalap auto shape-et a szilárd alakzat fölé.
    IAutoShape transparentShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 80, 80, 150, 75);
    transparentShape.FillFormat.FillType = FillType.Solid;
    transparentShape.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Yellow);

    // Mentse a PPTX fájlt a lemezen.
    presentation.Save("shape_transparency.pptx", SaveFormat.Pptx);
}

Az átlátszó alakzat

Alakzatok elforgatása

Az Aspose.Slides lehetővé teszi alakzatok elforgatását PowerPoint prezentációkban. Ez hasznos lehet vizuális elemek elhelyezésekor, amelyeknek meghatározott igazításra vagy tervezési igényekre van szükségük.

  1. Hozzon létre egy példányt a Presentation osztályból.
  2. Szerezzen referenciát egy diára az indexe alapján.
  3. Adjon egy IAutoShape elemet a diához.
  4. Állítsa be az alakzat Rotation tulajdonságát a kívánt szögre.
  5. Mentse a prezentációt.
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Szerezze meg az első diát.
    ISlide slide = presentation.Slides[0];

    // Adjon hozzá egy automatikus alakzatot Rectangle típusban.
    IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // Forgassa el az alakzatot 5 fokkal.
    shape.Rotation = 5;

    // Mentse a PPTX fájlt a lemezen.
    presentation.Save("shape_rotation.pptx", SaveFormat.Pptx);
}

Az alakzat elforgatása

3D él effektusok hozzáadása

Az Aspose.Slides lehetővé teszi 3D él effektusok alkalmazását alakzatokra a ThreeDFormat tulajdonságok beállításával.

  1. Hozzon létre egy példányt a Presentation osztályból.
  2. Szerezzen referenciát egy diára az indexe alapján.
  3. Adjon egy IAutoShape elemet a diához.
  4. Konfigurálja az alakzat ThreeDFormat beállításait az él definíciójához.
  5. Mentse a prezentációt.
// Hozzon létre egy példányt a Presentation osztályból.
using (Presentation presentation = new Presentation())
{
    ISlide slide = presentation.Slides[0];

    // Adjon hozzá egy alakzatot a diához.
    IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 50, 100, 100);
    shape.FillFormat.FillType = FillType.Solid;
    shape.FillFormat.SolidFillColor.Color = Color.Green;
    shape.LineFormat.FillFormat.FillType = FillType.Solid;
    shape.LineFormat.FillFormat.SolidFillColor.Color = Color.Orange;
    shape.LineFormat.Width = 2.0;

    // Állítsa be az alakzat ThreeDFormat tulajdonságait.
    shape.ThreeDFormat.Depth = 4;
    shape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle;
    shape.ThreeDFormat.BevelTop.Height = 6;
    shape.ThreeDFormat.BevelTop.Width = 6;
    shape.ThreeDFormat.Camera.CameraType = CameraPresetType.OrthographicFront;
    shape.ThreeDFormat.LightRig.LightType = LightRigPresetType.ThreePt;
    shape.ThreeDFormat.LightRig.Direction = LightingDirection.Top;

    // Mentse a prezentációt PPTX fájlként.
    presentation.Save("3D_bevel_effect.pptx", SaveFormat.Pptx);
}

A 3D él effektus

3D forgatási effektusok hozzáadása

Az Aspose.Slides lehetővé teszi 3D forgatási effektusok alkalmazását alakzatokra a ThreeDFormat tulajdonságok beállításával.

  1. Hozzon létre egy példányt a Presentation osztályból.
  2. Szerezzen referenciát egy diára az indexe alapján.
  3. Adjon egy IAutoShape elemet a diához.
  4. Állítsa be az alakzat CameraType és LightType értékét a 3D forgatás meghatározásához.
  5. Mentse a prezentációt.
// Hozzon létre egy példányt a Presentation osztályból.
using (Presentation presentation = new Presentation())
{
    ISlide slide = presentation.Slides[0];

    IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
    autoShape.TextFrame.Text = "Hello, Aspose!";

    autoShape.ThreeDFormat.Depth = 6;
    autoShape.ThreeDFormat.Camera.SetRotation(40, 35, 20);
    autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.IsometricLeftUp;
    autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced;

    // Mentse a prezentációt PPTX fájlként.
    presentation.Save("3D_rotation_effect.pptx", SaveFormat.Pptx);
}

A 3D forgatási effektus

Formázás visszaállítása

Az alábbi C# kód bemutatja, hogyan állítható vissza egy dia formázása, és hogyan állíthatók vissza a helyzet, méret és minden alakzat formázása a LayoutSlide helyőrzőivel az alapértelmezett beállításokra:

using (Presentation presentation = new Presentation("sample.pptx"))
{
    foreach (ISlide slide in presentation.Slides)
    {
        // Állítsa vissza minden alakzatot a dián, amely helyőrzővel rendelkezik az elrendezésen.
        slide.Reset();
    }

    presentation.Save("reset_formatting.pptx", SaveFormat.Pptx);
}

FAQ

A formátum módosítása befolyásolja a kész prezentáció fájlméretét?

Csak minimálisan. A beágyazott képek és médiák foglalják a fájl legnagyobb részét, míg a alakzatok paraméterei, mint a színek, effektusok és színátmenetek metaadatként tárolódnak, és szinte nem növelik a fájl méretét.

Hogyan tudom felderíteni a dián azonos formázású alakzatokat, hogy csoportosíthassam őket?

Használja az egyes alakzatok kulcsfontosságú formázási tulajdonságainak – kitöltés, vonal és effektus beállítások – összehasonlítását. Ha minden megfelelő érték megegyezik, tekintse a stílusokat azonosnak, és logikailag csoportosítsa az alakzatokat, ami megkönnyíti a későbbi stíluskezelést.

Menthetek-e egy egyéni alakzatstílusok halmazt egy külön fájlba a későbbi használatra más prezentációkban?

Igen. Tárolja a kívánt stílusokkal ellátott mintalakzatokat egy sablon diakészletben vagy egy .POTX sablon fájlban. Új prezentáció létrehozásakor nyissa meg a sablont, klónozza a szükséges stílusú alakzatokat, és alkalmazza a formázásukat ahol szükséges.