Formátování tvarů PowerPointu na Androidu
Úvod
V PowerPointu můžete do snímků přidávat tvary. Jelikož jsou tvary tvořeny čarami, můžete je formátovat úpravou nebo použitím efektů na jejich obrysy. Navíc můžete tvary formátovat nastavením, která řídí, jak jsou jejich vnitřky vyplněny.

Aspose.Slides for Android via Java poskytuje rozhraní a metody, které vám umožňují formátovat tvary pomocí stejných možností, jaké jsou k dispozici v PowerPointu.
Formátování čar
Pomocí Aspose.Slides můžete pro tvar zadat vlastní styl čáry. Postup je shrnut níže:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek podle jeho indexu.
- Přidejte IAutoShape na snímek.
- Nastavte styl čáry tvaru.
- Nastavte šířku čáry.
- Nastavte styl čárkování čáry.
- Nastavte barvu čáry pro tvar.
- Uložte upravenou prezentaci jako soubor PPTX.
Následující kód ukazuje, jak formátovat obdélníkový AutoShape:
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
// Získejte první snímek.
ISlide slide = presentation.getSlides().get_Item(0);
// Přidejte automatický tvar typu Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 75);
// Nastavte barvu výplně pro obdélníkový tvar.
shape.getFillFormat().setFillType(FillType.NoFill);
// Aplikujte formátování na čáry obdélníku.
shape.getLineFormat().setStyle(LineStyle.ThickThin);
shape.getLineFormat().setWidth(7);
shape.getLineFormat().setDashStyle(LineDashStyle.Dash);
// Nastavte barvu čáry obdélníku.
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
// Uložte soubor PPTX na disk.
presentation.save("formatted_lines.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Výsledek:

Formátování stylů spojení
Zde jsou tři možnosti typu spojení:
- Round
- Miter
- Bevel
Ve výchozím nastavení PowerPoint používá při spojení dvou čar pod úhlem (např. v rohu tvaru) nastavení Round. Pokud však kreslíte tvar s ostrými úhly, můžete upřednostnit možnost Miter.

Následující Java kód ukazuje, jak byly vytvořeny tři obdélníky (jak je vidět na výše uvedeném obrázku) pomocí nastavení spojení Miter, Bevel a Round:
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
// Získejte první snímek.
ISlide slide = presentation.getSlides().get_Item(0);
// Přidejte tři automatické tvary typu Rectangle.
IAutoShape shape1 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 20, 150, 75);
IAutoShape shape2 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 210, 20, 150, 75);
IAutoShape shape3 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 135, 150, 75);
// Nastavte barvu výplně pro každý obdélníkový tvar.
shape1.getFillFormat().setFillType(FillType.Solid);
shape1.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
shape2.getFillFormat().setFillType(FillType.Solid);
shape2.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
shape3.getFillFormat().setFillType(FillType.Solid);
shape3.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
// Nastavte šířku čáry.
shape1.getLineFormat().setWidth(15);
shape2.getLineFormat().setWidth(15);
shape3.getLineFormat().setWidth(15);
// Nastavte barvu čáry pro každý obdélník.
shape1.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape1.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
shape2.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape2.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
shape3.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape3.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
// Nastavte styl spojení.
shape1.getLineFormat().setJoinStyle(LineJoinStyle.Miter);
shape2.getLineFormat().setJoinStyle(LineJoinStyle.Bevel);
shape3.getLineFormat().setJoinStyle(LineJoinStyle.Round);
// Přidejte text ke každému obdélníku.
shape1.getTextFrame().setText("Miter Join Style");
shape2.getTextFrame().setText("Bevel Join Style");
shape3.getTextFrame().setText("Round Join Style");
// Uložte soubor PPTX na disk.
presentation.save("join_styles.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Gradient Fill
V PowerPointu je Gradient Fill formátovací možnost, která umožňuje aplikovat plynulý přechod barev na tvar. Například můžete použít dvě nebo více barev tak, aby se jedna postupně přecházela v druhou.
Postup, jak použít gradientové vyplnění tvaru pomocí Aspose.Slides:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek podle jeho indexu.
- Přidejte IAutoShape na snímek.
- Nastavte FillType tvaru na
Gradient. - Přidejte dvě požadované barvy s definovanými pozicemi pomocí metod
addkolekce gradientových zastávek exposované rozhraním IGradientFormat. - Uložte upravenou prezentaci jako soubor PPTX.
Následující Java kód demonstruje, jak aplikovat efekt gradientového vyplnění na elipsu:
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
// Získejte první snímek.
ISlide slide = presentation.getSlides().get_Item(0);
// Přidejte automatický tvar typu Ellipse.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 150, 75);
// Aplikujte gradientové formátování na elipsu.
shape.getFillFormat().setFillType(FillType.Gradient);
shape.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear);
// Nastavte směr gradientu.
shape.getFillFormat().getGradientFormat().setGradientDirection(GradientDirection.FromCorner2);
// Přidejte dvě gradientové zastavky.
shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)1.0, PresetColor.Purple);
shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)0, PresetColor.Red);
// Uložte soubor PPTX na disk.
presentation.save("gradient_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Výsledek:

Pattern Fill
V PowerPointu je Pattern Fill formátovací možnost, která umožňuje aplikovat dvoubarevný vzor – například tečky, pruhy, křížové šrafování nebo šachovnici – na tvar. Pro popředí i pozadí vzoru můžete zvolit vlastní barvy.
Aspose.Slides poskytuje více než 45 předdefinovaných stylů vzorů, které můžete použít na tvary a tím zlepšit vizuální atraktivitu prezentací. I po výběru předdefinovaného vzoru můžete určit přesné barvy, které se mají použít.
Postup, jak aplikovat pattern fill na tvar pomocí Aspose.Slides:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek podle jeho indexu.
- Přidejte IAutoShape na snímek.
- Nastavte FillType tvaru na
Pattern. - Vyberte styl vzoru z předdefinovaných možností.
- Nastavte Background Color vzoru.
- Nastavte Foreground Color vzoru.
- Uložte upravenou prezentaci jako soubor PPTX.
Následující Java kód ukazuje, jak aplikovat pattern fill na obdélník:
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
// Získejte první snímek.
ISlide slide = presentation.getSlides().get_Item(0);
// Přidejte automatický tvar typu Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Nastavte typ výplně na Pattern.
shape.getFillFormat().setFillType(FillType.Pattern);
// Nastavte styl vzoru.
shape.getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.Trellis);
// Nastavte barvy pozadí a popředí vzoru.
shape.getFillFormat().getPatternFormat().getBackColor().setColor(Color.LIGHT_GRAY);
shape.getFillFormat().getPatternFormat().getForeColor().setColor(Color.YELLOW);
// Uložte soubor PPTX na disk.
presentation.save("pattern_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Výsledek:

Picture Fill
V PowerPointu je Picture Fill formátovací možnost, která umožňuje vložit obrázek dovnitř tvaru – efektivně použít obrázek jako pozadí tvaru.
Jak použít Aspose.Slides k aplikaci picture fill na tvar:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek podle jeho indexu.
- Přidejte IAutoShape na snímek.
- Nastavte FillType tvaru na
Picture. - Nastavte režim picture fill na
Tile(nebo jiný požadovaný režim). - Vytvořte objekt IPPImage z obrázku, který chcete použít.
- Předávejte obrázek metodě
ISlidesPicture.setImage. - Uložte upravenou prezentaci jako soubor PPTX.
Předpokládejme, že máme soubor “lotus.png” s následujícím obrázkem:

Následující Java kód demonstruje, jak vyplnit tvar obrázkem:
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
// Získejte první snímek.
ISlide slide = presentation.getSlides().get_Item(0);
// Přidejte automatický tvar typu Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 255, 130);
// Nastavte typ výplně na Picture.
shape.getFillFormat().setFillType(FillType.Picture);
// Nastavte režim vyplnění obrázkem.
shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Tile);
// Načtěte obrázek a přidejte jej do zdrojů prezentace.
IImage image = Images.fromFile("lotus.png");
IPPImage picture = presentation.getImages().addImage(image);
image.dispose();
// Nastavte obrázek.
shape.getFillFormat().getPictureFillFormat().getPicture().setImage(picture);
// Uložte soubor PPTX na disk.
presentation.save("picture_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Výsledek:

Tile Picture As Texture
Pokud chcete nastavit dlaždicový obrázek jako texturu a přizpůsobit chování dlaždic, můžete použít následující metody rozhraní IPictureFillFormat a třídy PictureFillFormat:
- setPictureFillMode: Nastaví režim vyplnění obrázkem –
TileneboStretch. - setTileAlignment: Určuje zarovnání dlaždic uvnitř tvaru.
- setTileFlip: Ovládá, zda je dlaždice převrácena horizontálně, vertikálně nebo obojí.
- setTileOffsetX: Nastaví horizontální posun dlaždice (v bodech) od počátku tvaru.
- setTileOffsetY: Nastaví vertikální posun dlaždice (v bodech) od počátku tvaru.
- setTileScaleX: Definuje horizontální měřítko dlaždice v procentech.
- setTileScaleY: Definuje vertikální měřítko dlaždice v procentech.
Následující ukázkový kód ukazuje, jak přidat obdélníkový tvar s dlaždicovým picture fill a nakonfigurovat možnosti dlaždic:
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
// Získejte první snímek.
ISlide firstSlide = presentation.getSlides().get_Item(0);
// Přidejte automatický tvar typu Rectangle.
IAutoShape shape = firstSlide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95);
// Nastavte typ výplně tvaru na Picture.
shape.getFillFormat().setFillType(FillType.Picture);
// Načtěte obrázek a přidejte jej do zdrojů prezentace.
IImage sourceImage = Images.fromFile("lotus.png");
IPPImage presentationImage = presentation.getImages().addImage(sourceImage);
sourceImage.dispose();
// Přiřaďte obrázek k tvaru.
IPictureFillFormat pictureFillFormat = shape.getFillFormat().getPictureFillFormat();
pictureFillFormat.getPicture().setImage(presentationImage);
// Nakonfigurujte režim vyplnění obrázkem a vlastnosti dlaždicování.
pictureFillFormat.setPictureFillMode(PictureFillMode.Tile);
pictureFillFormat.setTileOffsetX(-32);
pictureFillFormat.setTileOffsetY(-32);
pictureFillFormat.setTileScaleX(50);
pictureFillFormat.setTileScaleY(50);
pictureFillFormat.setTileAlignment(RectangleAlignment.BottomRight);
pictureFillFormat.setTileFlip(TileFlip.FlipBoth);
// Uložte soubor PPTX na disk.
presentation.save("tile.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Výsledek:

Solid Color Fill
V PowerPointu je Solid Color Fill formátovací možnost, která vyplní tvar jednou, jednotnou barvou. Tento jednoduchý podklad je aplikován bez gradientů, textur či vzorů.
Postup, jak aplikovat solid color fill na tvar pomocí Aspose.Slides:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek podle jeho indexu.
- Přidejte IAutoShape na snímek.
- Nastavte FillType tvaru na
Solid. - Přiřaďte požadovanou výplňovou barvu tvaru.
- Uložte upravenou prezentaci jako soubor PPTX.
Následující Java kód ukazuje, jak aplikovat solid color fill na obdélník v PowerPoint snímku:
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
// Získejte první snímek.
ISlide slide = presentation.getSlides().get_Item(0);
// Přidejte automatický tvar typu Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Nastavte typ výplně na Solid.
shape.getFillFormat().setFillType(FillType.Solid);
// Nastavte barvu výplně.
shape.getFillFormat().getSolidFillColor().setColor(Color.YELLOW);
// Uložte soubor PPTX na disk.
presentation.save("solid_color_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Výsledek:

Set Transparency
V PowerPointu můžete při použití solid color, gradient, picture nebo texture fill nastavit úroveň průhlednosti, která řídí neprůhlednost výplně. Vyšší hodnota průhlednosti způsobí, že tvar bude více průsvitný a pozadí nebo podkladové objekty budou částečně viditelné.
Aspose.Slides umožňuje nastavit úroveň průhlednosti úpravou alfa komponenty barvy použité pro výplň. Postup:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek podle jeho indexu.
- Přidejte IAutoShape na snímek.
- Nastavte FillType na
Solid. - Použijte
Colork definování barvy s průhledností (komponentaalphařídí průhlednost). - Uložte prezentaci.
Následující Java kód demonstruje, jak aplikovat průhlednou výplňovou barvu na obdélník:
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
// Získejte první snímek.
ISlide slide = presentation.getSlides().get_Item(0);
// Přidejte automatický tvar obdélníku s plnou výplní.
IAutoShape solidShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Přidejte transparentní automatický tvar obdélníku přes plný tvar.
IAutoShape transparentShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 80, 80, 150, 75);
transparentShape.getFillFormat().setFillType(FillType.Solid);
transparentShape.getFillFormat().getSolidFillColor().setColor(new Color(255, 255, 0, 204));
// Uložte soubor PPTX na disk.
presentation.save("shape_transparency.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Výsledek:

Rotate Shapes
Aspose.Slides umožňuje otáčet tvary v PowerPoint prezentacích. To může být užitečné při umisťování vizuálních prvků s konkrétním zarovnáním nebo designovými požadavky.
Postup otáčení tvaru na snímku:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek podle jeho indexu.
- Přidejte IAutoShape na snímek.
- Nastavte vlastnost otáčení tvaru na požadovaný úhel.
- Uložte prezentaci.
Následující Java kód ukazuje, jak otočit tvar o 5 stupňů:
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
// Získejte první snímek.
ISlide slide = presentation.getSlides().get_Item(0);
// Přidejte automatický tvar typu Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Otočte tvar o 5 stupňů.
shape.setRotation(5);
// Uložte soubor PPTX na disk.
presentation.save("shape_rotation.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Výsledek:

Add 3D Bevel Effects
Aspose.Slides umožňuje aplikovat 3D bevel efekty na tvary konfigurací jejich vlastností ThreeDFormat.
Postup přidání 3D bevel efektů na tvar:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek podle jeho indexu.
- Přidejte IAutoShape na snímek.
- Nakonfigurujte ThreeDFormat tvaru pro definování nastavení bevelu.
- Uložte prezentaci.
Následující Java kód ukazuje, jak aplikovat 3D bevel efekty na tvar:
// Vytvořte instanci třídy Presentation.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Přidejte tvar na snímek.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 100, 100);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(Color.GREEN);
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
shape.getLineFormat().setWidth(2.0);
// Nastavte vlastnosti ThreeDFormat tvaru.
shape.getThreeDFormat().setDepth(4);
shape.getThreeDFormat().getBevelTop().setBevelType(BevelPresetType.Circle);
shape.getThreeDFormat().getBevelTop().setHeight(6);
shape.getThreeDFormat().getBevelTop().setWidth(6);
shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.OrthographicFront);
shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.ThreePt);
shape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
// Uložte prezentaci jako soubor PPTX.
presentation.save("3D_bevel_effect.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Výsledek:

Add 3D Rotation Effects
Aspose.Slides umožňuje aplikovat 3D otočné efekty na tvary konfigurací jejich vlastností ThreeDFormat.
Postup aplikace 3D rotace na tvar:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek podle jeho indexu.
- Přidejte IAutoShape na snímek.
- Použijte setCameraType a setLightType k definování 3D rotace.
- Uložte prezentaci.
Následující Java kód demonstruje, jak aplikovat 3D rotační efekty na tvar:
// Vytvořte instanci třídy Presentation.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape autoShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
autoShape.getTextFrame().setText("Hello, Aspose!");
autoShape.getThreeDFormat().setDepth(6);
autoShape.getThreeDFormat().getCamera().setRotation(40, 35, 20);
autoShape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.IsometricLeftUp);
autoShape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Balanced);
// Uložte prezentaci jako soubor PPTX.
presentation.save("3D_rotation_effect.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Výsledek:

Reset Formatting
Následující Java kód ukazuje, jak resetovat formátování snímku a vrátit pozici, velikost a formátování všech tvarů s placeholdery na LayoutSlide na výchozí nastavení:
Presentation presentation = new Presentation("sample.pptx");
try {
for (ISlide slide : presentation.getSlides()) {
// Resetujte každý tvar na snímku, který má placeholder na rozvržení.
slide.reset();
}
presentation.save("reset_formatting.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
FAQ
Ovlivňuje formátování tvarů konečnou velikost souboru prezentace?
Pouze minimálně. Vložené obrázky a média zabírají většinu místa, zatímco parametry tvarů jako barvy, efekty a gradienty jsou uloženy jako metadata a prakticky nezvětšují velikost souboru.
Jak mohu detekovat tvary na snímku, které mají identické formátování, abych je mohl seskupit?
Porovnejte klíčové vlastnosti formátování každého tvaru – nastavení výplně, čáry a efektů. Pokud se všechny odpovídající hodnoty shodují, považujte jejich styly za identické a logicky je seskupte, což usnadní následnou správu stylů.
Mohu uložit sadu vlastních stylů tvarů do samostatného souboru pro opětovné použití v jiných prezentacích?
Ano. Uložte ukázkové tvary s požadovanými styly do šablony prezentace nebo souboru .POTX. Při tvorbě nové prezentace otevřete šablonu, naklonujte potřebné stylované tvary a znovu použijte jejich formátování kde je potřeba.