Formattare le forme PowerPoint in Java

Introduzione

In PowerPoint è possibile aggiungere forme alle diapositive. Poiché le forme sono composte da linee, è possibile formattarle modificando o applicando effetti ai loro contorni. Inoltre, è possibile formattare le forme specificando impostazioni che controllano come vengono riempiti i loro interni.

formattazione-forma-powerpoint

Aspose.Slides for Java fornisce interfacce e metodi che consentono di formattare le forme utilizzando le stesse opzioni disponibili in PowerPoint.

Formattare le Linee

Utilizzando Aspose.Slides, è possibile specificare uno stile di linea personalizzato per una forma. I passaggi seguenti illustrano la procedura:

  1. Crea un’istanza della classe Presentation.
  2. Ottieni un riferimento a una diapositiva tramite il suo indice.
  3. Aggiungi un IAutoShape alla diapositiva.
  4. Imposta lo stile della linea della forma.
  5. Imposta lo spessore della linea.
  6. Imposta lo stile di tratteggio della linea.
  7. Imposta il colore della linea per la forma.
  8. Salva la presentazione modificata come file PPTX.

Il seguente codice dimostra come formattare un AutoShape rettangolare:

import com.aspose.slides.*;
import java.awt.Color;

// Istanziare la classe Presentation che rappresenta un file di presentazione.
Presentation presentation = new Presentation();
try {
    // Recuperare la prima diapositiva.
    ISlide slide = presentation.getSlides().get_Item(0);

    // Aggiungere una forma automatica di tipo Rettangolo.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 75);

    // Impostare il colore di riempimento per la forma rettangolare.
    shape.getFillFormat().setFillType(FillType.NoFill);

    // Applicare la formattazione alle linee del rettangolo.
    shape.getLineFormat().setStyle(LineStyle.ThickThin);
    shape.getLineFormat().setWidth(7);
    shape.getLineFormat().setDashStyle(LineDashStyle.Dash);

    // Impostare il colore per la linea del rettangolo.
    shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);

    // Salvare il file PPTX su disco.
    presentation.save("formatted_lines.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il risultato:

Le linee formattate nella presentazione

Applicare Effetti Schizzo alle Linee della Forma

Un effetto schizzo fa apparire la linea di una forma disegnata a mano. Usa IShape.getLineFormat per accedere alle impostazioni della linea, ILineFormat.getSketchFormat per accedere alle impostazioni dello schizzo e ISketchFormat.setSketchType per selezionare un valore dall’enumerazione LineSketchType.

Il seguente codice Java mostra come applicare l’effetto LineSketchType.Curved, leggere il valore assegnato esplicitamente e rimuovere l’effetto con LineSketchType.None:

Presentation presentation = new Presentation();
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100);

    // Accedere al formato linea della forma e al suo formato schizzo.
    ISketchFormat sketchFormat = shape.getLineFormat().getSketchFormat();

    // Applicare un effetto schizzo.
    sketchFormat.setSketchType(LineSketchType.Curved);

    // Leggere l'effetto schizzo assegnato direttamente alla forma.
    int explicitSketchType = sketchFormat.getSketchType();
    System.out.println("Explicit sketch type: " + explicitSketchType);

    // Rimuovere l'effetto schizzo.
    sketchFormat.setSketchType(LineSketchType.None);
} finally {
    presentation.dispose();
}

Il valore restituito da ISketchFormat.getSketchType rappresenta l’impostazione assegnata direttamente alla forma. Se la formattazione della linea può essere ereditata da un tema, da una diapositiva master o da una diapositiva layout, usa ILineFormat.getEffective, accedi a ILineFormatEffectiveData.getSketchFormat e leggi ISketchFormatEffectiveData.getSketchType. Il valore effettivo riflette la formattazione realmente applicata dopo la risoluzione dell’ereditarietà:

Presentation presentation = new Presentation("presentation.pptx");
try {
    IShape shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0);
    ILineFormat lineFormat = shape.getLineFormat();

    int explicitSketchType = lineFormat.getSketchFormat().getSketchType();
    ILineFormatEffectiveData effectiveLineFormat = lineFormat.getEffective();
    int effectiveSketchType = effectiveLineFormat.getSketchFormat().getSketchType();

    System.out.println("Explicit sketch type: " + explicitSketchType);
    System.out.println("Effective sketch type: " + effectiveSketchType);
} finally {
    presentation.dispose();
}

Formattare gli Stili di Giunzione

Ecco le tre opzioni di tipo di giunzione:

  • Arrotondato
  • Smusso
  • Smussato

Per impostazione predefinita, quando PowerPoint unisce due linee ad angolo (ad esempio nell’angolo di una forma), utilizza l’impostazione Arrotondato. Tuttavia, se disegni una forma con angoli acuti, potresti preferire l’opzione Smusso.

Lo stile di giunzione nella presentazione

Il seguente codice Java dimostra come sono stati creati tre rettangoli (come mostrato nell’immagine sopra) utilizzando le impostazioni di tipo di giunzione Miter, Bevel e Round:

import com.aspose.slides.*;
import java.awt.Color;

// Istanziare la classe Presentation che rappresenta un file di presentazione.
Presentation presentation = new Presentation();
try {
    // Ottenere la prima diapositiva.
    ISlide slide = presentation.getSlides().get_Item(0);

    // Aggiungere tre forme automatiche di tipo Rettangolo.
    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);

    // Impostare il colore di riempimento per ciascuna forma rettangolare.
    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);

    // Impostare la larghezza della linea.
    shape1.getLineFormat().setWidth(15);
    shape2.getLineFormat().setWidth(15);
    shape3.getLineFormat().setWidth(15);

    // Impostare il colore per la linea di ciascun rettangolo.
    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);

    // Impostare lo stile di giunzione.
    shape1.getLineFormat().setJoinStyle(LineJoinStyle.Miter);
    shape2.getLineFormat().setJoinStyle(LineJoinStyle.Bevel);
    shape3.getLineFormat().setJoinStyle(LineJoinStyle.Round);

    // Aggiungere testo a ciascun rettangolo.
    shape1.getTextFrame().setText("Miter Join Style");
    shape2.getTextFrame().setText("Bevel Join Style");
    shape3.getTextFrame().setText("Round Join Style");

    // Salvare il file PPTX su disco.
    presentation.save("join_styles.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Riempimento a Gradiente

In PowerPoint, il Riempimento a Gradiente è un’opzione di formattazione che consente di applicare una fusione continua di colori a una forma. Ad esempio, è possibile applicare due o più colori in modo che uno sfumi gradualmente nell’altro.

Ecco come applicare un riempimento a gradiente a una forma usando Aspose.Slides:

  1. Crea un’istanza della classe Presentation.
  2. Ottieni un riferimento a una diapositiva tramite il suo indice.
  3. Aggiungi un IAutoShape alla diapositiva.
  4. Imposta il FillType della forma su Gradient.
  5. Aggiungi i tuoi due colori preferiti con posizioni definite usando i metodi add della collezione di gradient stop esposta dall’interfaccia IGradientFormat.
  6. Salva la presentazione modificata come file PPTX.

Il seguente codice Java dimostra come applicare un effetto di riempimento a gradiente a un’ellisse:

import com.aspose.slides.*;

// Istanziare la classe Presentation che rappresenta un file di presentazione.
Presentation presentation = new Presentation();
try {
    // Ottenere la prima diapositiva.
    ISlide slide = presentation.getSlides().get_Item(0);

    // Aggiungere una forma automatica di tipo Ellipse.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 150, 75);

    // Applicare la formattazione a gradiente all'ellisse.
    shape.getFillFormat().setFillType(FillType.Gradient);
    shape.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear);

    // Impostare la direzione del gradiente.
    shape.getFillFormat().getGradientFormat().setGradientDirection(GradientDirection.FromCorner2);

    // Aggiungere due fermate di gradiente.
    shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)1.0, PresetColor.Purple);
    shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)0, PresetColor.Red);

    // Salvare il file PPTX su disco.
    presentation.save("gradient_fill.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il risultato:

L’ellisse con riempimento a gradiente

Riempimento a Motivo

In PowerPoint, il Riempimento a Motivo è un’opzione di formattazione che consente di applicare un disegno a due colori—come punti, strisce, tratteggi incrociati o quadretti—a una forma. È possibile scegliere colori personalizzati per il primo piano e lo sfondo del motivo.

Aspose.Slides offre oltre 45 stili di motivo predefiniti che è possibile applicare alle forme per migliorare l’aspetto visivo delle presentazioni. Anche dopo aver selezionato un motivo predefinito, è possibile specificare i colori esatti da utilizzare.

Ecco come applicare un riempimento a motivo a una forma usando Aspose.Slides:

  1. Crea un’istanza della classe Presentation.
  2. Ottieni un riferimento a una diapositiva tramite il suo indice.
  3. Aggiungi un IAutoShape alla diapositiva.
  4. Imposta il FillType della forma su Pattern.
  5. Scegli uno stile di motivo tra le opzioni predefinite.
  6. Imposta il Background Color del motivo.
  7. Imposta il Foreground Color del motivo.
  8. Salva la presentazione modificata come file PPTX.

Il seguente codice Java dimostra come applicare un riempimento a motivo a un rettangolo:

import com.aspose.slides.*;
import java.awt.Color;

// Istanziare la classe Presentation che rappresenta un file di presentazione.
Presentation presentation = new Presentation();
try {
    // Ottenere la prima diapositiva.
    ISlide slide = presentation.getSlides().get_Item(0);

    // Aggiungere una forma automatica di tipo Rectangle.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // Impostare il tipo di riempimento su Pattern.
    shape.getFillFormat().setFillType(FillType.Pattern);

    // Impostare lo stile del motivo.
    shape.getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.Trellis);

    // Impostare i colori di sfondo e primo piano del motivo.
    shape.getFillFormat().getPatternFormat().getBackColor().setColor(Color.LIGHT_GRAY);
    shape.getFillFormat().getPatternFormat().getForeColor().setColor(Color.YELLOW);

    // Salvare il file PPTX su disco.
    presentation.save("pattern_fill.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il risultato:

Il rettangolo con riempimento a motivo

Riempimento con Immagine

In PowerPoint, il Riempimento con Immagine è un’opzione di formattazione che consente di inserire un’immagine all’interno di una forma—utilizzando effettivamente l’immagine come sfondo della forma.

Ecco come usare Aspose.Slides per applicare un riempimento con immagine a una forma:

  1. Crea un’istanza della classe Presentation.
  2. Ottieni un riferimento a una diapositiva tramite il suo indice.
  3. Aggiungi un IAutoShape alla diapositiva.
  4. Imposta il FillType della forma su Picture.
  5. Imposta la modalità di riempimento immagine su Tile (o un’altra modalità preferita).
  6. Crea un oggetto IPPImage dall’immagine che desideri utilizzare.
  7. Passa l’immagine al metodo ISlidesPicture.setImage.
  8. Salva la presentazione modificata come file PPTX.

Supponiamo di avere un file “lotus.png” con l’immagine seguente:

L’immagine del loto

Il seguente codice Java dimostra come riempire una forma con l’immagine:

import com.aspose.slides.*;

// Istanziare la classe Presentation che rappresenta un file di presentazione.
Presentation presentation = new Presentation();
try {
    // Ottenere la prima diapositiva.
    ISlide slide = presentation.getSlides().get_Item(0);

    // Aggiungere una forma automatica di tipo Rectangle.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 255, 130);
    
    // Impostare il tipo di riempimento su Picture.
    shape.getFillFormat().setFillType(FillType.Picture);

    // Impostare la modalità di riempimento immagine.
    shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Tile);

    // Caricare un'immagine e aggiungerla alle risorse della presentazione.
    IImage image = Images.fromFile("lotus.png");
    IPPImage picture = presentation.getImages().addImage(image);
    image.dispose();

    // Impostare l'immagine.
    shape.getFillFormat().getPictureFillFormat().getPicture().setImage(picture);

    // Salvare il file PPTX su disco.
    presentation.save("picture_fill.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il risultato:

La forma con riempimento immagine

Usa Immagine a Piastrelle Come Texture

Se desideri impostare un’immagine a piastrelle come texture e personalizzare il comportamento della piastrellatura, puoi utilizzare i seguenti metodi dell’interfaccia IPictureFillFormat e della classe PictureFillFormat:

  • setPictureFillMode: Imposta la modalità di riempimento immagine—Tile o Stretch.
  • setTileAlignment: Specifica l’allineamento delle piastrelle all’interno della forma.
  • setTileFlip: Controlla se la piastrella è capovolta orizzontalmente, verticalmente o in entrambe le direzioni.
  • setTileOffsetX: Imposta lo spostamento orizzontale della piastrella (in punti) dall’origine della forma.
  • setTileOffsetY: Imposta lo spostamento verticale della piastrella (in punti) dall’origine della forma.
  • setTileScaleX: Definisce la scala orizzontale della piastrella in percentuale.
  • setTileScaleY: Definisce la scala verticale della piastrella in percentuale.

Il seguente esempio di codice mostra come aggiungere una forma rettangolare con riempimento immagine a piastrelle e configurare le opzioni di piastrellatura:

import com.aspose.slides.*;

// Istanziare la classe Presentation che rappresenta un file di presentazione.
Presentation presentation = new Presentation();
try {
    // Ottenere la prima diapositiva.
    ISlide firstSlide = presentation.getSlides().get_Item(0);

    // Aggiungere una forma automatica rettangolare.
    IAutoShape shape = firstSlide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95);

    // Impostare il tipo di riempimento della forma su Picture.
    shape.getFillFormat().setFillType(FillType.Picture);

    // Caricare l'immagine e aggiungerla alle risorse della presentazione.
    IImage sourceImage = Images.fromFile("lotus.png");
    IPPImage presentationImage = presentation.getImages().addImage(sourceImage);
    sourceImage.dispose();

    // Assegnare l'immagine alla forma.
    IPictureFillFormat pictureFillFormat = shape.getFillFormat().getPictureFillFormat();
    pictureFillFormat.getPicture().setImage(presentationImage);

    // Configurare la modalità di riempimento immagine e le proprietà di piastrellatura.
    pictureFillFormat.setPictureFillMode(PictureFillMode.Tile);
    pictureFillFormat.setTileOffsetX(-32);
    pictureFillFormat.setTileOffsetY(-32);
    pictureFillFormat.setTileScaleX(50);
    pictureFillFormat.setTileScaleY(50);
    pictureFillFormat.setTileAlignment(RectangleAlignment.BottomRight);
    pictureFillFormat.setTileFlip(TileFlip.FlipBoth);

    // Salvare il file PPTX su disco.
    presentation.save("tile.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il risultato:

Le opzioni di piastrellatura

Riempimento a Colore Solido

In PowerPoint, il Riempimento a Colore Solido è un’opzione di formattazione che riempie una forma con un unico colore uniforme. Questo colore di sfondo semplice viene applicato senza gradienti, texture o motivi.

Per applicare un riempimento a colore solido a una forma usando Aspose.Slides, segui questi passaggi:

  1. Crea un’istanza della classe Presentation.
  2. Ottieni un riferimento a una diapositiva tramite il suo indice.
  3. Aggiungi un IAutoShape alla diapositiva.
  4. Imposta il FillType della forma su Solid.
  5. Assegna alla forma il colore di riempimento desiderato.
  6. Salva la presentazione modificata come file PPTX.

Il seguente codice Java dimostra come applicare un riempimento a colore solido a un rettangolo in una diapositiva PowerPoint:

import com.aspose.slides.*;
import java.awt.Color;

// Istanziare la classe Presentation che rappresenta un file di presentazione.
Presentation presentation = new Presentation();
try {
    // Ottenere la prima diapositiva.
    ISlide slide = presentation.getSlides().get_Item(0);

    // Aggiungere una forma automatica di tipo Rectangle.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // Impostare il tipo di riempimento su Solid.
    shape.getFillFormat().setFillType(FillType.Solid);

    // Impostare il colore di riempimento.
    shape.getFillFormat().getSolidFillColor().setColor(Color.YELLOW);

    // Salvare il file PPTX su disco.
    presentation.save("solid_color_fill.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il risultato:

La forma con riempimento a colore solido

Impostare la Trasparenza

In PowerPoint, quando si applica un riempimento solido, a gradiente, con immagine o con texture a forme, è possibile impostare anche un livello di trasparenza per controllare l’opacità del riempimento. Un valore di trasparenza più alto rende la forma più trasparente, permettendo allo sfondo o agli oggetti sottostanti di essere parzialmente visibili.

Aspose.Slides consente di impostare il livello di trasparenza regolando il valore alfa del colore usato per il riempimento. Ecco come fare:

  1. Crea un’istanza della classe Presentation.
  2. Ottieni un riferimento a una diapositiva tramite il suo indice.
  3. Aggiungi un IAutoShape alla diapositiva.
  4. Imposta il FillType su Solid.
  5. Usa Color per definire un colore con trasparenza (il componente alpha controlla la trasparenza).
  6. Salva la presentazione.

Il seguente codice Java dimostra come applicare un colore di riempimento trasparente a un rettangolo:

import com.aspose.slides.*;
import java.awt.Color;

// Istanziare la classe Presentation che rappresenta un file di presentazione.
Presentation presentation = new Presentation();
try {
    // Ottenere la prima diapositiva.
    ISlide slide = presentation.getSlides().get_Item(0);

    // Aggiungere una forma automatica rettangolare solida.
    IAutoShape solidShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // Aggiungere una forma automatica rettangolare trasparente sopra la forma solida.
    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));

    // Salvare il file PPTX su disco.
    presentation.save("shape_transparency.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il risultato:

La forma trasparente

Ruotare le Forme

Aspose.Slides consente di ruotare le forme nelle presentazioni PowerPoint. Questo può essere utile quando si posizionano elementi visivi con esigenze specifiche di allineamento o design.

Per ruotare una forma su una diapositiva, segui questi passaggi:

  1. Crea un’istanza della classe Presentation.
  2. Ottieni un riferimento a una diapositiva tramite il suo indice.
  3. Aggiungi un IAutoShape alla diapositiva.
  4. Imposta la proprietà di rotazione della forma sull’angolo desiderato.
  5. Salva la presentazione.

Il seguente codice Java dimostra come ruotare una forma di 5 gradi:

import com.aspose.slides.*;

// Istanziare la classe Presentation che rappresenta un file di presentazione.
Presentation presentation = new Presentation();
try {
    // Ottenere la prima diapositiva.
    ISlide slide = presentation.getSlides().get_Item(0);

    // Aggiungere una forma automatica di tipo Rectangle.
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);

    // Ruotare la forma di 5 gradi.
    shape.setRotation(5);

    // Salvare il file PPTX su disco.
    presentation.save("shape_rotation.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il risultato:

La rotazione della forma

Aggiungere Effetti di Smusso 3D

Aspose.Slides permette di applicare effetti di smusso 3D alle forme configurando le proprietà ThreeDFormat.

Per aggiungere effetti di smusso 3D a una forma, segui questi passaggi:

  1. Instanzia la classe Presentation.
  2. Ottieni un riferimento a una diapositiva tramite il suo indice.
  3. Aggiungi un IAutoShape alla diapositiva.
  4. Configura il ThreeDFormat della forma per definire le impostazioni di smusso.
  5. Salva la presentazione.

Il seguente codice Java mostra come applicare effetti di smusso 3D a una forma:

import com.aspose.slides.*;
import java.awt.Color;

// Creare un'istanza della classe Presentation.
Presentation presentation = new Presentation();
try {
    ISlide slide = presentation.getSlides().get_Item(0);

    // Aggiungere una forma alla diapositiva.
    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);

    // Impostare le proprietà ThreeDFormat della forma.
    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);

    // Salvare la presentazione come file PPTX.
    presentation.save("3D_bevel_effect.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il risultato:

L’effetto di smusso 3D

Aggiungere Effetti di Rotazione 3D

Aspose.Slides permette di applicare effetti di rotazione 3D alle forme configurando le proprietà ThreeDFormat.

Per applicare la rotazione 3D a una forma:

  1. Crea un’istanza della classe Presentation.
  2. Ottieni un riferimento a una diapositiva tramite il suo indice.
  3. Aggiungi un IAutoShape alla diapositiva.
  4. Usa setCameraType e setLightType per definire la rotazione 3D.
  5. Salva la presentazione.

Il seguente codice Java dimostra come applicare effetti di rotazione 3D a una forma:

import com.aspose.slides.*;

// Creare un'istanza della classe 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);

    // Salvare la presentazione come file PPTX.
    presentation.save("3D_rotation_effect.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il risultato:

L’effetto di rotazione 3D

Controllare il Rendering in Bianco e Nero per le Forme

Il metodo IShape.setBlackWhiteMode specifica come una singola forma viene renderizzata quando una presentazione viene visualizzata o elaborata in modalità bianco e nero. Non abilita di per sé la visualizzazione in bianco e nero e non modifica il riempimento, la linea o altre formattazioni della forma in modalità a colori normali.

Usa un valore della classe BlackWhiteMode per selezionare il comportamento desiderato. Ad esempio, Automatic consente all’applicazione di rendering di scegliere la conversione, Gray e LightGray usano la colorazione grigia, BlackWhite usa solo nero e bianco, Black e White forzano un unico colore, Color preserva la colorazione normale e Hidden omette la forma nella modalità bianco e nero. NotDefined indica che non è stato assegnato alcun metodo a livello di forma.

Il seguente codice Java crea una forma colorata e la fa apparire grigia nella visualizzazione in bianco e nero:

import com.aspose.slides.*;
import java.awt.Color;

Presentation presentation = new Presentation();
try {
    ISlide slide = presentation.getSlides().get_Item(0);

    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100);
    shape.getFillFormat().setFillType(FillType.Solid);
    shape.getFillFormat().getSolidFillColor().setColor(Color.ORANGE);

    // Mantieni il riempimento arancione in modalità a colori, ma rendi la forma con colore grigio in modalità bianco e nero.
    shape.setBlackWhiteMode(BlackWhiteMode.Gray);

    presentation.save("shape_black_white_mode.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

In modalità colore normale, il rettangolo mantiene il riempimento arancione. In un flusso di lavoro di visualizzazione in bianco e nero, utilizza la colorazione grigia perché il suo metodo è impostato su Gray. Questo consente di preservare una diapositiva a colori completi definendo al contempo un aspetto distinto per la stampa, l’anteprima o altri flussi di lavoro che rispettano le impostazioni di visualizzazione in bianco e nero della presentazione.

Ripristinare la Formattazione

Il seguente codice Java mostra come ripristinare la formattazione di una diapositiva e riportare la posizione, le dimensioni e la formattazione di tutte le forme con segnaposto nella LayoutSlide alle impostazioni predefinite:

import com.aspose.slides.*;

Presentation presentation = new Presentation("sample.pptx");
try {
    for (ISlide slide : presentation.getSlides()) {
        // Reimposta ogni forma nella diapositiva che ha un segnaposto nel layout.
        slide.reset();
    }
    presentation.save("reset_formatting.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

FAQ

La formattazione delle forme influisce sulla dimensione finale del file della presentazione?

Solo in minima parte. Le immagini e i media incorporati occupano la maggior parte dello spazio del file, mentre i parametri delle forme come colori, effetti e gradienti sono memorizzati come metadati e non aggiungono praticamente nessuna dimensione extra.

Come posso individuare le forme su una diapositiva che condividono una formattazione identica in modo da poterle raggruppare?

Confronta le proprietà chiave di formattazione di ciascuna forma—riempimento, linea e impostazioni degli effetti. Se tutti i valori corrispondenti coincidono, considera i loro stili identici e raggruppa logicamente quelle forme, semplificando la gestione dello stile in seguito.

Posso salvare un insieme di stili di forma personalizzati in un file separato per riutilizzarlo in altre presentazioni?

Sì. Archivia forme di esempio con gli stili desiderati in una presentazione modello o in un file modello .POTX. Quando crei una nuova presentazione, apri il modello, clona le forme stilizzate di cui hai bisogno e riapplica la loro formattazione dove necessario.