Διαχείριση κόμβων σχήματος SmartArt σε παρουσιάσεις με C++
Επισκόπηση
Τα γραφικά SmartArt σε παρουσιάσεις PowerPoint οργανώνονται μέσω κόμβων που περιέχουν κείμενο και καθορίζουν τη δομή του διαγράμματος. Το Aspose.Slides σας επιτρέπει να εργάζεστε με αυτούς τους κόμβους SmartArt προγραμματιστικά: να προσθέτετε νέους κόμβους και υποκόμβους, να εισάγετε υποκόμβους σε συγκεκριμένη θέση, να προσπελάζετε υπάρχοντες κόμβους και να διαβάζετε το κείμενό τους, το επίπεδο και τη θέση.
Αυτό το άρθρο εξηγεί πώς να διαχειρίζεστε τους κόμβους σχήματος SmartArt. Δείχνει πώς να αφαιρείτε κόμβους, να εργάζεστε με υποκόμβους βάσει δείκτη ή θέσης, να μετατρέπετε έναν κόμβο βοηθού σε κανονικό κόμβο, να προσαρμόζετε τη θέση, το μέγεθος και την περιστροφή των σχημάτων κόμβων SmartArt, να ορίζετε μορφές γεμίσματος κόμβων και να δημιουργείτε εικόνα μικρογραφίας για έναν υποκόμβο SmartArt.
Προσθήκη κόμβου SmartArt
Το Aspose.Slides για C++ παρέχει το πιο απλό API για τη διαχείριση των σχημάτων SmartArt με τον ευκολότερο τρόπο. Ο παρακάτω κώδικας δείγματος βοηθά στην προσθήκη κόμβου και υποκόμβου μέσα σε σχήμα SmartArt.
- Δημιουργήστε ένα στιγμιότυπο της κλάσης Παρουσίαση και φορτώστε την παρουσίαση με σχήμα SmartArt.
- Λάβετε την αναφορά της πρώτης διαφάνειας χρησιμοποιώντας το Index της.
- Περιηγηθείτε σε κάθε σχήμα μέσα στην πρώτη διαφάνεια.
- Ελέγξτε αν το σχήμα είναι τύπου SmartArt και μετατρέψτε το επιλεγμένο σχήμα σε SmartArt αν είναι SmartArt.
- Προσθέστε ένα νέο Κόμβο στη συλλογή NodeCollection του σχήματος SmartArt και ορίστε το κείμενο στο TextFrame.
- Στη συνέχεια, προσθέστε έναν Υποκόμβο στον νεοδημιουργηθέντα Κόμβο SmartArt και ορίστε το κείμενο στο TextFrame.
- Αποθηκεύστε την παρουσίαση.
Προσθήκη κόμβου SmartArt σε συγκεκριμένη θέση
Στον παρακάτω κώδικα δείγματος εξηγούμε πώς να προσθέσετε τους υποκόμβους που ανήκουν σε αντίστοιχους κόμβους του σχήματος SmartArt σε συγκεκριμένη θέση.
- Δημιουργήστε ένα στιγμιότυπο της κλάσης
Presentation. - Λάβετε την αναφορά της πρώτης διαφάνειας χρησιμοποιώντας το Index της.
- Προσθέστε ένα σχήμα SmartArt τύπου StackedList στη διαφάνεια που προσπελάστηκε.
- Πρόσβαση στον πρώτο κόμβο του προστεθειμένου σχήματος SmartArt.
- Στη συνέχεια, προσθέστε τον Υποκόμβο για τον επιλεγμένο Κόμβο στη θέση 2 και ορίστε το κείμενό του.
- Αποθηκεύστε την παρουσίαση.
Πρόσβαση σε κόμβο SmartArt
Ο παρακάτω κώδικας δείγματος βοηθά στην πρόσβαση στους κόμβους του σχήματος SmartArt. Παρακαλούμε σημειώστε ότι δεν μπορείτε να αλλάξετε το LayoutType του SmartArt καθώς είναι μόνο για ανάγνωση και ορίζεται μόνο όταν το σχήμα SmartArt προστίθεται.
- Δημιουργήστε ένα στιγμιότυπο της κλάσης
Presentationκαι φορτώστε την παρουσίαση με σχήμα SmartArt. - Λάβετε την αναφορά της πρώτης διαφάνειας χρησιμοποιώντας το Index της.
- Περιηγηθείτε σε κάθε σχήμα μέσα στην πρώτη διαφάνεια.
- Ελέγξτε αν το σχήμα είναι τύπου SmartArt και μετατρέψτε το επιλεγμένο σχήμα σε SmartArt αν είναι SmartArt.
- Περιηγηθείτε σε όλους τους Κόμβους μέσα στο σχήμα SmartArt.
- Πρόσβαση και εμφάνιση πληροφοριών όπως θέση κόμβου SmartArt, επίπεδο και κείμενο.
Πρόσβαση σε υποκόμβο SmartArt
Ο παρακάτω κώδικας δείγματος βοηθά στην πρόσβαση στους υποκόμβους που ανήκουν σε αντίστοιχους κόμβους του σχήματος SmartArt.
- Δημιουργήστε ένα στιγμιότυπο της κλάσης PresentationEx και φορτώστε την παρουσίαση με σχήμα SmartArt.
- Λάβετε την αναφορά της πρώτης διαφάνειας χρησιμοποιώντας το Index της.
- Περιηγηθείτε σε κάθε σχήμα μέσα στην πρώτη διαφάνεια.
- Ελέγξτε αν το σχήμα είναι τύπου SmartArt και μετατρέψτε το επιλεγμένο σχήμα σε SmartArtEx αν είναι SmartArt.
- Περιηγηθείτε σε όλους τους Κόμβους μέσα στο σχήμα SmartArt.
- Για κάθε επιλεγμένο σχήμα SmartArt Node, περιηγηθείτε σε όλους τους Υποκόμβους μέσα στον συγκεκριμένο κόμβο.
- Πρόσβαση και εμφάνιση πληροφοριών όπως θέση Υποκόμβου, επίπεδο και κείμενο.
Πρόσβαση σε υποκόμβο SmartArt σε συγκεκριμένη θέση
Σε αυτό το παράδειγμα, θα μάθουμε πώς να προσπελαύνουμε τους υποκόμβους σε συγκεκριμένη θέση που ανήκουν σε αντίστοιχους κόμβους του σχήματος SmartArt.
- Δημιουργήστε ένα στιγμιότυπο της κλάσης
Presentation. - Λάβετε την αναφορά της πρώτης διαφάνειας χρησιμοποιώντας το Index της.
- Προσθέστε ένα σχήμα SmartArt τύπου StackedList.
- Πρόσβαση στο προστιθέμενο σχήμα SmartArt.
- Πρόσβαση στον κόμβο με δείκτη 0 για το προσπελασμένο σχήμα SmartArt.
- Στη συνέχεια, προσπελάστε τον Υποκόμβο στη θέση 1 για το προσπελασμένο κόμβο SmartArt χρησιμοποιώντας τη μέθοδο GetNodeByPosition().
- Πρόσβαση και εμφάνιση πληροφοριών όπως θέση Υποκόμβου, επίπεδο και κείμενο.
Αφαίρεση κόμβου SmartArt
Σε αυτό το παράδειγμα, θα μάθουμε πώς να αφαιρέσουμε τους κόμβους μέσα στο σχήμα SmartArt.
- Δημιουργήστε ένα στιγμιότυπο της κλάσης
Presentationκαι φορτώστε την παρουσίαση με σχήμα SmartArt. - Λάβετε την αναφορά της πρώτης διαφάνειας χρησιμοποιώντας το Index της.
- Περιηγηθείτε σε κάθε σχήμα μέσα στην πρώτη διαφάνεια.
- Ελέγξτε αν το σχήμα είναι τύπου SmartArt και μετατρέψτε το επιλεγμένο σχήμα σε SmartArt αν είναι SmartArt.
- Ελέγξτε αν το SmartArt έχει περισσότερους από 0 κόμβους.
- Επιλέξτε τον κόμβο SmartArt που θα διαγραφεί.
- Στη συνέχεια, αφαιρέστε τον επιλεγμένο κόμβο χρησιμοποιώντας τη μέθοδο RemoveNode().
- Αποθηκεύστε την παρουσίαση.
Αφαίρεση κόμβου SmartArt σε συγκεκριμένη θέση
Σε αυτό το παράδειγμα, θα μάθουμε πώς να αφαιρέσουμε τους κόμβους μέσα στο σχήμα SmartArt σε συγκεκριμένη θέση.
- Δημιουργήστε ένα στιγμιότυπο της κλάσης
Presentationκαι φορτώστε την παρουσίαση με σχήμα SmartArt. - Λάβετε την αναφορά της πρώτης διαφάνειας χρησιμοποιώντας το Index της.
- Περιηγηθείτε σε κάθε σχήμα μέσα στην πρώτη διαφάνεια.
- Ελέγξτε αν το σχήμα είναι τύπου SmartArt και μετατρέψτε το επιλεγμένο σχήμα σε SmartArt αν είναι SmartArt.
- Επιλέξτε τον κόμβο σχήματος SmartArt με δείκτη 0.
- Στη συνέχεια, ελέγξτε αν ο επιλεγμένος κόμβος SmartArt έχει περισσότερους από 2 υποκόμβους.
- Στη συνέχεια, αφαιρέστε τον κόμβο στη θέση 1 χρησιμοποιώντας τη μέθοδο RemoveNodeByPosition().
- Αποθηκεύστε την παρουσίαση.
Ορισμός προσαρμοσμένης θέσης για υποκόμβο SmartArt
Τώρα το Aspose.Slides υποστηρίζει τον καθορισμό των ιδιοτήτων X και Y του SmartArtShape. Το παρακάτω απόσπασμα κώδικα δείχνει πώς να ορίσετε προσαρμοσμένη θέση, μέγεθος και περιστροφή του SmartArtShape· παρακαλούμε σημειώστε ότι η προσθήκη νέων κόμβων προκαλεί επανϋπολογισμό των θέσεων και μεγεθών όλων των κόμβων.
Έλεγχος κόμβου βοηθού
Στον παρακάτω κώδικα δείγματος θα διερευνήσουμε πώς να εντοπίσετε κόμβους βοηθού στη συλλογή κόμβων SmartArt και να τους αλλάξετε.
- Δημιουργήστε ένα στιγμιότυπο της κλάσης PresentationEx και φορτώστε την παρουσίαση με σχήμα SmartArt.
- Λάβετε την αναφορά της δεύτερης διαφάνειας χρησιμοποιώντας το Index της.
- Περιηγηθείτε σε κάθε σχήμα μέσα στην πρώτη διαφάνεια.
- Ελέγξτε αν το σχήμα είναι τύπου SmartArt και μετατρέψτε το επιλεγμένο σχήμα σε SmartArtEx αν είναι SmartArt.
- Περιηγηθείτε σε όλους τους κόμβους του σχήματος SmartArt και ελέγξτε αν είναι κόμβοι βοηθού.
- Αλλάξτε την κατάσταση του κόμβου βοηθού σε κανονικό κόμβο.
- Αποθηκεύστε την παρουσίαση.
Ορισμός μορφής γεμίσματος κόμβου
Το Aspose.Slides για C++ καθιστά δυνατό το πρόσθεση προσαρμοσμένων σχημάτων SmartArt και τον ορισμό των μορφών γεμίσματος τους. Αυτό το άρθρο εξηγεί πώς να δημιουργήσετε και να προσπελάσετε σχήματα SmartArt και να ορίσετε τη μορφή γεμίσματος χρησιμοποιώντας το Aspose.Slides για C++.
Παρακαλούμε ακολουθήστε τα παρακάτω βήματα:
- Δημιουργήστε ένα στιγμιότυπο της κλάσης
Presentation. - Λάβετε την αναφορά μιας διαφάνειας χρησιμοποιώντας το index της.
- Προσθέστε ένα σχήμα SmartArt ορίζοντας το LayoutType του.
- Ορίστε το FillFormat για τους κόμβους του σχήματος SmartArt.
- Αποθηκεύστε την τροποποιημένη παρουσίαση ως αρχείο PPTX.
Δημιουργία μικρογραφίας ενός υποκόμβου SmartArt
Οι προγραμματιστές μπορούν να δημιουργήσουν μικρογραφία ενός Υποκόμβου του SmartArt ακολουθώντας τα παρακάτω βήματα:
- Δημιουργήστε μια κλάση
Presentationπου αντιπροσωπεύει το αρχείο PPTX. - Προσθέστε SmartArt.
- Λάβετε την αναφορά ενός κόμβου χρησιμοποιώντας το Index του.
- Λάβετε την εικόνα μικρογραφίας.
- Αποθηκεύστε την εικόνα μικρογραφίας σε οποιαδήποτε επιθυμητή μορφή εικόνας.
Το παρακάτω παράδειγμα δημιουργεί μικρογραφία του υποκόμβου SmartArt
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto smartArt = slide->get_Shapes()->AddSmartArt(10, 10, 400, 300, SmartArtLayoutType::BasicCycle);
auto node = smartArt->get_Node(1);
auto image = node->get_Shape(0)->GetImage();
image->Save(u"SmartArt_ChildNote_Thumbnail_out.jpeg", ImageFormat::Png);
image->Dispose();
presentation->Dispose();
Συχνές ερωτήσεις
Υποστηρίζονται οι κινήσεις SmartArt;
Ναι. Το SmartArt αντιμετωπίζεται ως κανονικό σχήμα, ώστε μπορείτε να εφαρμόσετε τυπικές κινήσεις (εισόδους, εξόδους, έμφαση, μονοπάτια κίνησης) και να ρυθμίσετε το χρονισμό. Μπορείτε επίσης να κινήσετε σχήματα μέσα σε κόμβους SmartArt όταν χρειάζεται.
Πώς μπορώ να εντοπίσω αξιόπιστα ένα συγκεκριμένο SmartArt σε μια διαφάνεια αν το εσωτερικό του ID είναι άγνωστο;
Αντιστοιχίστε και αναζητήστε με βάση το [εναλλακτικό κείμενο]https://reference.aspose.com/slides/el/cpp/aspose.slides/shape/set_alternativetext/. Ορίζοντας ένα διακριτό AltText στο SmartArt, μπορείτε να το βρείτε προγραμματιστικά χωρίς να βασίζεστε σε εσωτερικά αναγνωριστικά.
Θα διατηρηθεί η εμφάνιση του SmartArt κατά τη μετατροπή της παρουσίασης σε PDF;
Ναι. Το Aspose.Slides αποδίδει το SmartArt με υψηλή οπτική ακρίβεια κατά την εξαγωγή σε PDF, διατηρώντας τη διάταξη, τα χρώματα και τα εφέ.
Μπορώ να εξάγω μια εικόνα ολόκληρου του SmartArt (για προεπισκοπήσεις ή αναφορές);
Ναι. Μπορείτε να αποδώσετε ένα σχήμα SmartArt σε [μορφές raster]https://reference.aspose.com/slides/el/cpp/aspose.slides/shape/getimage/ ή σε [SVG]https://reference.aspose.com/slides/el/cpp/aspose.slides/shape/writeassvg/ για διανυσματική έξοδο, καθιστώντας το κατάλληλο για μικρογραφίες, αναφορές ή χρήση στο web.