Μορφοποίηση Σχημάτων PowerPoint σε Python μέσω Java

Εισαγωγή

Στο PowerPoint, μπορείτε να προσθέσετε σχήματα στις διαφάνειες. Δεδομένου ότι τα σχήματα αποτελούνται από γραμμές, μπορείτε να μορφοποιήσετε τις γραμμές τους τροποποιώντας ή εφαρμόζοντας εφέ στα περιγράμματά τους. Επίσης, μπορείτε να μορφοποιήσετε τα σχήματα καθορίζοντας ρυθμίσεις που ελέγχουν πώς γεμίζουν τα εσωτερικά τους.

μορφοποίηση-σχήματος-powerpoint

Το Aspose.Slides for Python via Java παρέχει κλάσεις και μεθόδους που σας επιτρέπουν να μορφοποιήσετε σχήματα χρησιμοποιώντας τις ίδιες επιλογές που είναι διαθέσιμες στο PowerPoint.

Μορφοποίηση Γραμμών

Χρησιμοποιώντας το Aspose.Slides, μπορείτε να καθορίσετε προσαρμοσμένο στιλ γραμμής για ένα σχήμα. Τα παρακάτω βήματα περιγράφουν τη διαδικασία:

  1. Δημιουργήστε ένα αντίτυπο της κλάσης Presentation.
  2. Αποκτήστε μια αναφορά σε μία διαφάνεια βάσει του δείκτη της.
  3. Προσθέστε ένα AutoShape στη διαφάνεια.
  4. Ορίστε το line style του σχήματος.
  5. Ορίστε το πάχος της γραμμής.
  6. Ορίστε το dash style της γραμμής.
  7. Ορίστε το χρώμα της γραμμής για το σχήμα.
  8. Αποθηκεύστε τη τροποποιημένη παρουσίαση ως αρχείο PPTX.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, LineDashStyle, LineStyle, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Δημιουργήστε ένα αντικείμενο της κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
presentation = Presentation()
try:
    # Αποκτήστε την πρώτη διαφάνεια.
    slide = presentation.getSlides().get_Item(0)

    # Προσθέστε ένα αυτόματο σχήμα τύπου Rectangle.
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 75)

    # Ορίστε το χρώμα γεμίσματος για το σχήμα rectangle.
    shape.getFillFormat().setFillType(FillType.NoFill)

    # Εφαρμόστε μορφοποίηση στις γραμμές του rectangle.
    shape.getLineFormat().setStyle(LineStyle.ThickThin)
    shape.getLineFormat().setWidth(7)
    shape.getLineFormat().setDashStyle(LineDashStyle.Dash)

    # Ορίστε το χρώμα για τη γραμμή του rectangle.
    shape.getLineFormat().getFillFormat().setFillType(FillType.Solid)
    shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)

    # Αποθηκεύστε το αρχείο PPTX στο δίσκο.
    presentation.save("formatted_lines.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Οι μορφοποιημένες γραμμές στην παρουσίαση

Εφαρμογή Σχεδίου Εφέ στις Γραμμές Σχήματος

Ένα εφέ σκίτσο κάνει τη γραμμή ενός σχήματος να φαίνεται χειρογράφητη. Χρησιμοποιήστε το Shape.getLineFormat για πρόσβαση στις ρυθμίσεις γραμμής, το LineFormat.getSketchFormat για πρόσβαση στις ρυθμίσεις σκίτσου, και το SketchFormat.setSketchType για να επιλέξετε μια τιμή από την απαρίθμηση LineSketchType.

Ο παρακάτω κώδικας Python δείχνει πώς να εφαρμόσετε το εφέ LineSketchType.Curved, να διαβάσετε την ρητά ορισμένη τιμή, και να αφαιρέσετε το εφέ με το LineSketchType.None_:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import LineSketchType, Presentation, ShapeType

presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100)

    # Πρόσβαση στη μορφοποίηση γραμμής του σχήματος και στο σκίτσο του.
    sketch_format = shape.getLineFormat().getSketchFormat()

    # Εφαρμογή εφέ σκίτσου.
    sketch_format.setSketchType(LineSketchType.Curved)

    # Ανάγνωση του εφέ σκίτσου που έχει εκχωρηθεί άμεσα στο σχήμα.
    explicit_sketch_type = sketch_format.getSketchType()
    print(f"Explicit sketch type: {explicit_sketch_type}")

    # Αφαίρεση του εφέ σκίτσου.
    sketch_format.setSketchType(LineSketchType.None_)
finally:
    presentation.dispose()

Η τιμή που επιστρέφεται από το SketchFormat.getSketchType αντιπροσωπεύει τη ρύθμιση που έχει οριστεί απευθείας στο σχήμα. Εάν η μορφοποίηση της γραμμής μπορεί να κληθεί από ένα θέμα, κύρια διαφάνεια ή διαφάνεια διάταξης, χρησιμοποιήστε το LineFormat.getEffective, αποκτήστε πρόσβαση στο LineFormatEffectiveData.getSketchFormat, και διαβάστε το SketchFormatEffectiveData.getSketchType. Η αποτελεσματική τιμή αντικατοπτρίζει τη μορφοποίηση που εφαρμόζεται πράγματι μετά την επίλυση της κληρονόμησης:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation

presentation = Presentation("presentation.pptx")
try:
    shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0)
    line_format = shape.getLineFormat()

    explicit_sketch_type = line_format.getSketchFormat().getSketchType()
    effective_line_format = line_format.getEffective()
    effective_sketch_type = effective_line_format.getSketchFormat().getSketchType()

    print(f"Explicit sketch type: {explicit_sketch_type}")
    print(f"Effective sketch type: {effective_sketch_type}")
finally:
    presentation.dispose()

Μορφοποίηση Τύπων Ένωσης

Αυτές είναι οι τρεις επιλογές τύπου ένωσης:

  • Στρογγυλό
  • Απόκομμα
  • Πλαγιακό

Από προεπιλογή, όταν το PowerPoint ενώνει δύο γραμμές σε γωνία (όπως στη γωνία ενός σχήματος), χρησιμοποιεί τη ρύθμιση Στρογγυλό. Ωστόσο, εάν σχεδιάζετε ένα σχήμα με οξείες γωνίες, ίσως προτιμάτε την επιλογή Απόκομμα.

Το στυλ ένωσης στην παρουσίαση

Ο παρακάτω κώδικας Python δείχνει πώς δημιουργήθηκαν τρία ορθογώνια (όπως φαίνεται στην εικόνα παραπάνω) χρησιμοποιώντας τις ρυθμίσεις τύπου ένωσης Απόκομμα, Πλαγιακό και Στρογγυλό:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, LineJoinStyle, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Δημιουργήστε ένα αντικείμενο της κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
presentation = Presentation()
try:
    # Αποκτήστε την πρώτη διαφάνεια.
    slide = presentation.getSlides().get_Item(0)

    # Προσθέστε τρία αυτόματα σχήματα τύπου Rectangle.
    miter_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 20, 150, 75)
    bevel_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 210, 20, 150, 75)
    round_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 135, 150, 75)

    # Ορίστε το χρώμα γεμίσματος για κάθε σχήμα rectangle.
    miter_shape.getFillFormat().setFillType(FillType.Solid)
    miter_shape.getFillFormat().getSolidFillColor().setColor(Color.BLACK)
    bevel_shape.getFillFormat().setFillType(FillType.Solid)
    bevel_shape.getFillFormat().getSolidFillColor().setColor(Color.BLACK)
    round_shape.getFillFormat().setFillType(FillType.Solid)
    round_shape.getFillFormat().getSolidFillColor().setColor(Color.BLACK)

    # Ορίστε το πάχος της γραμμής.
    miter_shape.getLineFormat().setWidth(15)
    bevel_shape.getLineFormat().setWidth(15)
    round_shape.getLineFormat().setWidth(15)

    # Ορίστε το χρώμα για τη γραμμή του κάθε rectangle.
    miter_shape.getLineFormat().getFillFormat().setFillType(FillType.Solid)
    miter_shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)
    bevel_shape.getLineFormat().getFillFormat().setFillType(FillType.Solid)
    bevel_shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)
    round_shape.getLineFormat().getFillFormat().setFillType(FillType.Solid)
    round_shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)

    # Ορίστε το στυλ ένωσης.
    miter_shape.getLineFormat().setJoinStyle(LineJoinStyle.Miter)
    bevel_shape.getLineFormat().setJoinStyle(LineJoinStyle.Bevel)
    round_shape.getLineFormat().setJoinStyle(LineJoinStyle.Round)

    # Προσθέστε κείμενο σε κάθε rectangle.
    miter_shape.getTextFrame().setText("Miter Join Style")
    bevel_shape.getTextFrame().setText("Bevel Join Style")
    round_shape.getTextFrame().setText("Round Join Style")

    # Αποθηκεύστε το αρχείο PPTX στο δίσκο.
    presentation.save("join_styles.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Γεμισμός Διαβάθμισης

Στο PowerPoint, ο Γεμισμός Διαβάθμισης είναι μια επιλογή μορφοποίησης που σας επιτρέπει να εφαρμόζετε μια συνεχή ανάμειξη χρωμάτων σε ένα σχήμα. Για παράδειγμα, μπορείτε να εφαρμόσετε δύο ή περισσότερα χρώματα με τρόπο που ένα σταδιακά να μεταβαίνει στο άλλο.

Ακολουθεί ο τρόπος εφαρμογής γεμίσματος διαβάθμισης σε ένα σχήμα με χρήση του Aspose.Slides:

  1. Δημιουργήστε ένα αντίτυπο της κλάσης Presentation.
  2. Αποκτήστε μια αναφορά σε μία διαφάνεια βάσει του δείκτη της.
  3. Προσθέστε ένα AutoShape στη διαφάνεια.
  4. Ορίστε το FillType του σχήματος σε Gradient.
  5. Προσθέστε τα δύο επιθυμητά χρώματά σας με καθορισμένες θέσεις χρησιμοποιώντας τη μέθοδο addPresetColor της συλλογής gradient stop που εκτίθεται από την κλάση GradientFormat.
  6. Αποθηκεύστε τη τροποποιημένη παρουσίαση ως αρχείο PPTX.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, GradientDirection, GradientShape, Presentation, PresetColor, SaveFormat, ShapeType
from java.awt import Color

# Δημιουργήστε ένα αντικείμενο της κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
presentation = Presentation()
try:
    # Αποκτήστε την πρώτη διαφάνεια.
    slide = presentation.getSlides().get_Item(0)

    # Προσθέστε ένα αυτόματο σχήμα τύπου Ellipse.
    shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 150, 75)

    # Εφαρμόστε μορφοποίηση διαβάθμισης στην έλλειψη.
    shape.getFillFormat().setFillType(FillType.Gradient)
    shape.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear)

    # Ορίστε την κατεύθυνση της διαβάθμισης.
    shape.getFillFormat().getGradientFormat().setGradientDirection(GradientDirection.FromCorner2)

    # Προσθέστε δύο στάσεις διαβάθμισης.
    shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor(1.0, PresetColor.Purple)
    shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor(0.0, PresetColor.Red)

    # Αποθηκεύστε το αρχείο PPTX στο δίσκο.
    presentation.save("gradient_fill.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Η έλλειψη με γεμισμό διαβάθμισης

Γεμισμός Σχέματος

Στο PowerPoint, ο Γεμισμός Σχέματος είναι μια επιλογή μορφοποίησης που σας επιτρέπει να εφαρμόσετε ένα σχέδιο με δύο χρώματα — όπως κουκκίδες, λωρίδες, διαγώνιες γραμμές ή σκαλισμούς — σε ένα σχήμα. Μπορείτε να επιλέξετε προσαρμοσμένα χρώματα για το προσκήνιο και το φόντο του σχεδίου.

Το Aspose.Slides παρέχει πάνω από 45 προ‑ορισμένα στυλ σχεδίων που μπορείτε να εφαρμόσετε σε σχήματα για να βελτιώσετε την οπτική ελκυστικότητα των παρουσιάσεών σας. Ακόμη και μετά την επιλογή ενός προ‑ορισμένου σχεδίου, μπορείτε να καθορίσετε τα ακριβή χρώματα που θα χρησιμοποιεί.

Ακολουθεί ο τρόπος εφαρμογής γεμίσματος σχεδίου σε ένα σχήμα με χρήση του Aspose.Slides:

  1. Δημιουργήστε ένα αντίτυπο της κλάσης Presentation.
  2. Αποκτήστε μια αναφορά σε μία διαφάνεια βάσει του δείκτη της.
  3. Προσθέστε ένα AutoShape στη διαφάνεια.
  4. Ορίστε το FillType του σχήματος σε Pattern.
  5. Επιλέξτε ένα στυλ σχεδίου από τις προ‑ορισμένες επιλογές.
  6. Ορίστε το Background Color του σχεδίου.
  7. Ορίστε το Foreground Color του σχεδίου.
  8. Αποθηκεύστε τη τροποποιημένη παρουσίαση ως αρχείο PPTX.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, PatternStyle, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Δημιουργήστε ένα αντικείμενο της κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
presentation = Presentation()
try:
    # Αποκτήστε την πρώτη διαφάνεια.
    slide = presentation.getSlides().get_Item(0)

    # Προσθέστε ένα αυτόματο σχήμα τύπου Rectangle.
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75)

    # Ορίστε τον τύπο γεμίσματος σε Pattern.
    shape.getFillFormat().setFillType(FillType.Pattern)

    # Ορίστε το στυλ του μοτίβου.
    shape.getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.Trellis)

    # Ορίστε τα χρώματα φόντου και προσκηνίου του μοτίβου.
    shape.getFillFormat().getPatternFormat().getBackColor().setColor(Color.LIGHT_GRAY)
    shape.getFillFormat().getPatternFormat().getForeColor().setColor(Color.YELLOW)

    # Αποθηκεύστε το αρχείο PPTX στο δίσκο.
    presentation.save("pattern_fill.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Το ορθογώνιο με γεμισμό σχεδίου

Γεμισμός Εικόνας

Στο PowerPoint, ο Γεμισμός Εικόνας είναι μια επιλογή μορφοποίησης που σας επιτρέπει να εισάγετε μια εικόνα μέσα σε ένα σχήμα — χρησιμοποιώντας ουσιαστικά την εικόνα ως φόντο του σχήματος.

Ακολουθεί ο τρόπος χρήσης του Aspose.Slides για την εφαρμογή γεμίσματος εικόνας σε ένα σχήμα:

  1. Δημιουργήστε ένα αντίτυπο της κλάσης Presentation.
  2. Αποκτήστε μια αναφορά σε μία διαφάνεια βάσει του δείκτη της.
  3. Προσθέστε ένα AutoShape στη διαφάνεια.
  4. Ορίστε το FillType του σχήματος σε Picture.
  5. Ορίστε τη λειτουργία γεμίσματος εικόνας σε Tile (ή άλλη προτιμώμενη λειτουργία).
  6. Δημιουργήστε ένα αντικείμενο PPImage από την εικόνα που θέλετε να χρησιμοποιήσετε.
  7. Περάστε την εικόνα στη μέθοδο SlidesPicture.setImage.
  8. Αποθηκεύστε τη τροποποιημένη παρουσίαση ως αρχείο PPTX.

Ας πούμε ότι έχουμε ένα αρχείο “lotus.png” με την παρακάτω εικόνα:

Η εικόνα λωτού

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, Images, PictureFillMode, Presentation, SaveFormat, ShapeType

# Δημιουργήστε ένα αντικείμενο της κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
presentation = Presentation()
try:
    # Αποκτήστε την πρώτη διαφάνεια.
    slide = presentation.getSlides().get_Item(0)

    # Προσθέστε ένα αυτόματο σχήμα τύπου Rectangle.
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 255, 130)
    
    # Ορίστε τον τύπο γεμίσματος σε Picture.
    shape.getFillFormat().setFillType(FillType.Picture)

    # Ορίστε τη λειτουργία γεμίσματος εικόνας.
    shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Tile)

    # Φορτώστε μια εικόνα και προσθέστε τη στους πόρους της παρουσίασης.
    image = Images.fromFile("lotus.png")
    picture = presentation.getImages().addImage(image)
    image.dispose()

    # Ορίστε την εικόνα.
    shape.getFillFormat().getPictureFillFormat().getPicture().setImage(picture)

    # Αποθηκεύστε το αρχείο PPTX στο δίσκο.
    presentation.save("picture_fill.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Το σχήμα με γεμισμό εικόνας

Πλακίδιο Εικόνας Ως Υφή

Αν θέλετε να ορίσετε μια πλακιδική εικόνα ως υφή και να προσαρμόσετε τη συμπεριφορά του πλακίδωσης, μπορείτε να χρησιμοποιήσετε τις παρακάτω μεθόδους της κλάσης PictureFillFormat:

  • setPictureFillMode: Ορίζει τη λειτουργία γεμίσματος εικόνας — είτε Tile είτε Stretch.
  • setTileAlignment: Καθορίζει την ευθυγράμμιση των πλακιδίων μέσα στο σχήμα.
  • setTileFlip: Ελέγχει εάν το πλακίδιο θα αναστραφεί οριζόντια, κάθετα ή και τα δύο.
  • setTileOffsetX: Ορίζει την οριζόντια μετατόπιση του πλακιδίου (σε points) από το σημείο προέλευσης του σχήματος.
  • setTileOffsetY: Ορίζει την κατακόρυφη μετατόπιση του πλακιδίου (σε points) από το σημείο προέλευσης του σχήματος.
  • setTileScaleX: Ορίζει την οριζόντια κλίμακα του πλακιδίου ως ποσοστό.
  • setTileScaleY: Ορίζει την κατακόρυφη κλίμακα του πλακιδίου ως ποσοστό.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, Images, PictureFillMode, Presentation, RectangleAlignment, SaveFormat, ShapeType, TileFlip

# Δημιουργήστε ένα αντικείμενο της κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
presentation = Presentation()
try:
    # Αποκτήστε την πρώτη διαφάνεια.
    first_slide = presentation.getSlides().get_Item(0)

    # Προσθέστε ένα αυτόματο σχήμα τύπου Rectangle.
    shape = first_slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95)

    # Ορίστε τον τύπο γεμίσματος του σχήματος σε Picture.
    shape.getFillFormat().setFillType(FillType.Picture)

    # Φορτώστε την εικόνα και προσθέστε τη στους πόρους της παρουσίασης.
    source_image = Images.fromFile("lotus.png")
    presentation_image = presentation.getImages().addImage(source_image)
    source_image.dispose()

    # Αναθέστε την εικόνα στο σχήμα.
    picture_fill_format = shape.getFillFormat().getPictureFillFormat()
    picture_fill_format.getPicture().setImage(presentation_image)

    # Διαμορφώστε τη λειτουργία γεμίσματος εικόνας και τις ιδιότητες πλακίδωσης.
    picture_fill_format.setPictureFillMode(PictureFillMode.Tile)
    picture_fill_format.setTileOffsetX(-32)
    picture_fill_format.setTileOffsetY(-32)
    picture_fill_format.setTileScaleX(50)
    picture_fill_format.setTileScaleY(50)
    picture_fill_format.setTileAlignment(RectangleAlignment.BottomRight)
    picture_fill_format.setTileFlip(TileFlip.FlipBoth)

    # Αποθηκεύστε το αρχείο PPTX στο δίσκο.
    presentation.save("tile.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Οι επιλογές πλακιδίου

Γεμισμός Σταθερού Χρώματος

Στο PowerPoint, ο Γεμισμός Σταθερού Χρώματος είναι μια επιλογή μορφοποίησης που γεμίζει ένα σχήμα με ένα ενιαίο, ομοιόμορφο χρώμα. Αυτό το απλό χρώμα φόντου εφαρμόζεται χωρίς καμία διαβάθμιση, υφή ή σχέδιο.

Για να εφαρμόσετε γεμισμό σταθερού χρώματος σε ένα σχήμα με χρήση του Aspose.Slides, ακολουθήστε τα παρακάτω βήματα:

  1. Δημιουργήστε ένα αντίτυπο της κλάσης Presentation.
  2. Αποκτήστε μια αναφορά σε μία διαφάνεια βάσει του δείκτη της.
  3. Προσθέστε ένα AutoShape στη διαφάνεια.
  4. Ορίστε το FillType του σχήματος σε Solid.
  5. Εκχωρήστε το προτιμώμενο χρώμα γεμίσματος στο σχήμα.
  6. Αποθηκεύστε τη τροποποιημένη παρουσίαση ως αρχείο PPTX.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Δημιουργήστε ένα αντικείμενο της κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
presentation = Presentation()
try:
    # Αποκτήστε την πρώτη διαφάνεια.
    slide = presentation.getSlides().get_Item(0)

    # Προσθέστε ένα αυτόματο σχήμα τύπου Rectangle.
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75)

    # Ορίστε τον τύπο γεμίσματος σε Solid.
    shape.getFillFormat().setFillType(FillType.Solid)

    # Ορίστε το χρώμα γεμίσματος.
    shape.getFillFormat().getSolidFillColor().setColor(Color.YELLOW)

    # Αποθηκεύστε το αρχείο PPTX στο δίσκο.
    presentation.save("solid_color_fill.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Το σχήμα με γεμισμό σταθερού χρώματος

Ορισμός Διαφάνειας

Στο PowerPoint, όταν εφαρμόζετε γεμισμό στερεού χρώματος, διαβάθμισης, εικόνας ή υφής σε σχήματα, μπορείτε επίσης να ορίσετε ένα επίπεδο διαφάνειας για να ελέγξετε την αδιαφάνεια του γεμίσματος. Μια υψηλότερη τιμή διαφάνειας κάνει το σχήμα πιο διαφανές, επιτρέποντας στο φόντο ή στα υποκείμενα αντικείμενα να είναι μερικά ορατά.

Το Aspose.Slides σας επιτρέπει να ορίσετε το επίπεδο διαφάνειας ρυθμίζοντας την τιμή alpha στο χρώμα που χρησιμοποιείται για το γεμισμό. Ακολουθεί ο τρόπος:

  1. Δημιουργήστε ένα αντίτυπο της κλάσης Presentation.
  2. Αποκτήστε μια αναφορά σε μία διαφάνεια βάσει του δείκτη της.
  3. Προσθέστε ένα AutoShape στη διαφάνεια.
  4. Ορίστε το FillType σε Solid.
  5. Χρησιμοποιήστε το Color για να ορίσετε ένα χρώμα με διαφάνεια (το στοιχείο alpha ελέγχει τη διαφάνεια).
  6. Αποθηκεύστε την παρουσίαση.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Δημιουργήστε ένα αντικείμενο της κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
presentation = Presentation()
try:
    # Αποκτήστε την πρώτη διαφάνεια.
    slide = presentation.getSlides().get_Item(0)

    # Προσθέστε ένα αυτόματο σχήμα ορθογωνίου με στερεό γέμισμα.
    solid_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75)

    # Προσθέστε ένα διαφανές αυτόματο σχήμα ορθογωνίου πάνω από το στερεό σχήμα.
    transparent_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 80, 80, 150, 75)
    transparent_shape.getFillFormat().setFillType(FillType.Solid)
    transparent_color = Color(255, 255, 0, 204)
    transparent_shape.getFillFormat().getSolidFillColor().setColor(transparent_color)

    # Αποθηκεύστε το αρχείο PPTX στο δίσκο.
    presentation.save("shape_transparency.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Το διαφανές σχήμα

Περιστροφή Σχημάτων

Το Aspose.Slides σας επιτρέπει να περιστρέφετε σχήματα σε παρουσιάσεις PowerPoint. Αυτό μπορεί να είναι χρήσιμο όταν τοποθετείτε οπτικά στοιχεία με συγκεκριμένες ανάγκες στοίχισης ή σχεδίασης.

Για να περιστρέψετε ένα σχήμα σε μια διαφάνεια, ακολουθήστε τα παρακάτω βήματα:

  1. Δημιουργήστε ένα αντίτυπο της κλάσης Presentation.
  2. Αποκτήστε μια αναφορά σε μία διαφάνεια βάσει του δείκτη της.
  3. Προσθέστε ένα AutoShape στη διαφάνεια.
  4. Ορίστε την ιδιότητα περιστροφής του σχήματος στη ζητούμενη γωνία.
  5. Αποθηκεύστε την παρουσίαση.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, ShapeType

# Δημιουργήστε ένα αντικείμενο της κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
presentation = Presentation()
try:
    # Αποκτήστε την πρώτη διαφάνεια.
    slide = presentation.getSlides().get_Item(0)

    # Προσθέστε ένα αυτόματο σχήμα τύπου Rectangle.
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75)

    # Περιστρέψτε το σχήμα κατά 5 μοίρες.
    shape.setRotation(5)

    # Αποθηκεύστε το αρχείο PPTX στον δίσκο.
    presentation.save("shape_rotation.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Η περιστροφή του σχήματος

Προσθήκη 3Δ Εφέ Λιπώματος

Το Aspose.Slides επιτρέπει την εφαρμογή 3Δ εφέ λιπώματος σε σχήματα διαμορφώνοντας τις ιδιότητες ThreeDFormat.

Για να προσθέσετε 3Δ εφέ λιπώματος σε ένα σχήμα, ακολουθήστε τα παρακάτω βήματα:

  1. Δημιουργήστε ένα αντίτυπο της κλάσης Presentation.
  2. Αποκτήστε μια αναφορά σε μία διαφάνεια βάσει του δείκτη της.
  3. Προσθέστε ένα AutoShape στη διαφάνεια.
  4. Διαμορφώστε το [ThreeDFormat] του σχήματος για να ορίσετε τις ρυθμίσεις του λιπώματος.
  5. Αποθηκεύστε την παρουσίαση.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import BevelPresetType, CameraPresetType, FillType, LightRigPresetType, LightingDirection, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Δημιουργήστε ένα αντίτυπο της κλάσης Presentation.
presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

    # Προσθέστε ένα σχήμα στη διαφάνεια.
    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)

    # Set the shape's ThreeDFormat properties.
    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)

    # Save the presentation as a PPTX file.
    presentation.save("3D_bevel_effect.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Το 3Δ εφέ λιπώματος

Προσθήκη 3Δ Εφέ Περιστροφής

Το Aspose.Slides επιτρέπει την εφαρμογή 3Δ εφέ περιστροφής σε σχήματα διαμορφώνοντας τις ιδιότητες ThreeDFormat.

Για να εφαρμόσετε 3Δ περιστροφή σε ένα σχήμα:

  1. Δημιουργήστε ένα αντίτυπο της κλάσης Presentation.
  2. Αποκτήστε μια αναφορά σε μία διαφάνεια βάσει του δείκτη της.
  3. Προσθέστε ένα AutoShape στη διαφάνεια.
  4. Χρησιμοποιήστε τις μεθόδους setCameraType και setLightType για να ορίσετε την 3Δ περιστροφή.
  5. Αποθηκεύστε την παρουσίαση.
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import CameraPresetType, LightRigPresetType, Presentation, SaveFormat, ShapeType

# Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

    auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75)
    auto_shape.getTextFrame().setText("Hello, Aspose!")

    auto_shape.getThreeDFormat().setDepth(6)
    auto_shape.getThreeDFormat().getCamera().setRotation(40, 35, 20)
    auto_shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.IsometricLeftUp)
    auto_shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Balanced)

    # Αποθηκεύστε την παρουσίαση ως αρχείο PPTX.
    presentation.save("3D_rotation_effect.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Το 3Δ εφέ περιστροφής

Έλεγχος Ασπρόμαυρης Απόδοσης για Σχήματα

Η μέθοδος Shape.setBlackWhiteMode καθορίζει πώς αποδίδεται ένα μεμονωμένο σχήμα όταν μια παρουσίαση προβάλλεται ή επεξεργάζεται σε ασπρόμαυρη λειτουργία. Δεν ενεργοποιεί την εμφάνιση ασπρόμαυρα από μόνη της και δεν αλλάζει το γέμισμα, τη γραμμή ή άλλες μορφοποιήσεις του σχήματος σε κανονική έγχρωμη λειτουργία.

Χρησιμοποιήστε μια τιμή από την κλάση BlackWhiteMode για να επιλέξετε την επιθυμητή συμπεριφορά. Για παράδειγμα, το Automatic αφήνει την εφαρμογή απόδοσης να επιλέξει τη μετατροπή, τα Gray και LightGray χρησιμοποιούν γκρι χρωματισμό, το BlackWhite χρησιμοποιεί μόνο μαύρο και λευκό, τα Black και White επιβάλλουν ένα μόνο χρώμα, το Color διατηρεί το κανονικό χρώμα, και το Hidden παραλείπει το σχήμα στην ασπρόμαυρη λειτουργία. Το NotDefined σημαίνει ότι δεν έχει καθοριστεί λειτουργία σε επίπεδο σχήματος.

Ο παρακάτω κώδικας Python δημιουργεί ένα έγχρωμο σχήμα και το εμφανίζει γκρι σε ασπρόμαυρη λειτουργία εμφάνισης:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import BlackWhiteMode, FillType, Presentation, SaveFormat, ShapeType
from java.awt import Color

presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

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

    # Διατηρήστε το πορτοκαλί γέμισμα σε έγχρωμη λειτουργία, αλλά αποδώστε το σχήμα με γκρι χρωματισμό σε ασπρόμαυρη λειτουργία.
    shape.setBlackWhiteMode(BlackWhiteMode.Gray)

    presentation.save("shape_black_white_mode.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Σε κανονική έγχρωμη λειτουργία, το ορθογώνιο διατηρεί το πορτοκαλί γέμισμα του. Σε μια ροή εργασίας με ασπρόμαυρη εμφάνιση, χρησιμοποιεί γκρι χρώμα επειδή η λειτουργία του είναι ορισμένη σε Gray. Αυτό σας επιτρέπει να διατηρήσετε μια πλήρως έγχρωμη διαφάνεια ενώ ορίζετε μια ξεχωριστή εμφάνιση για εκτύπωση, προεπισκόπηση ή άλλες ροές εργασίας που σέβονται τις ασπρόμαυρες ρυθμίσεις προβολής της παρουσίασης.

Επαναφορά Μορφοποίησης

Ο παρακάτω κώδικας Python δείχνει πώς να επαναφέρετε τη μορφοποίηση μιας διαφάνειας και να επαναφέρετε τη θέση, το μέγεθος και τη μορφοποίηση όλων των σχημάτων με placeholders στη LayoutSlide στις προεπιλεγμένες ρυθμίσεις τους:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation("sample.pptx")
try:
    for slide in presentation.getSlides():
        # Επαναφορά κάθε σχήματος στη διαφάνεια που έχει placeholder στη διάταξη.
        slide.reset()

    presentation.save("reset_formatting.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

FAQ

Επηρεάζει η μορφοποίηση των σχημάτων το τελικό μέγεθος του αρχείου παρουσίασης;

Μόνο ελάχιστα. Οι ενσωματωμένες εικόνες και τα μέσα καταλαμβάνουν το μεγαλύτερο μέρος του χώρου του αρχείου, ενώ οι παράμετροι των σχημάτων όπως χρώματα, εφέ και διαβαθμίσεις αποθηκεύονται ως μεταδεδομένα και δεν προσθέτουν σχεδόν κανένα επιπλέον μέγεθος.

Πώς μπορώ να εντοπίσω σχήματα σε μια διαφάνεια που μοιράζονται την ίδια μορφοποίηση ώστε να τα ομαδοποιήσω;

Συγκρίνετε τις βασικές ιδιότητες μορφοποίησης κάθε σχήματος — τις ρυθμίσεις γεμίσματος, γραμμής και εφέ. Εάν όλες οι αντίστοιχες τιμές ταιριάζουν, θεωρήστε τα στυλ τους ως ίδια και ομαδοποιήστε λογικά αυτά τα σχήματα, κάτι που απλοποιεί τη μετέπειτα διαχείριση στυλ.

Μπορώ να αποθηκεύσω ένα σύνολο προσαρμοσμένων στύλ σχημάτων σε ξεχωριστό αρχείο για επαναχρησιμοποίηση σε άλλες παρουσιάσεις;

Ναι. Αποθηκεύστε δείγματα σχημάτων με τα επιθυμητά στυλ σε ένα πρότυπο σετ διαφανειών ή σε αρχείο προτύπου .POTX. Κατά τη δημιουργία μιας νέας παρουσίασης, ανοίξτε το πρότυπο, κλωνοποιήστε τα στυλιζαρισμένα σχήματα που χρειάζεστε και εφαρμόστε ξανά τη μορφοποίησή τους όπου απαιτείται.