Εργασία με Συνδέσμους — Aspose.Slides FOSS για .NET
Οι συνδέσμοι είναι σχήματα που οπτικά συνδέουν δύο άλλα σχήματα με μια γραμμή. Το Aspose.Slides FOSS για .NET υποστηρίζει λυγισμένους, ευθείς και καμπυλωτούς συνδέσμους. Τα σημεία σύνδεσης σε ένα σχήμα προσδιορίζονται από ακέραιους connection site indexes.
Δείκτες Τοποθεσίας Σύνδεσης
Κάθε σχήμα εκθέτει τέσσερις τυπικές θέσεις σύνδεσης:
| Δείκτης | Πλευρά |
|---|---|
0 | Πάνω |
1 | Αριστερά |
2 | Κάτω |
3 | Δεξιά |
Προσθήκη Λυγισμένου Συνδέσμου μεταξύ Δύο Σχημάτων
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
// Create two shapes to connect
var box1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 150, 60);
box1.AddTextFrame("Start");
var box2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 400, 150, 150, 60);
box2.AddTextFrame("End");
// Add a bent connector (position/size are ignored once connected)
var conn = slide.Shapes.AddConnector(ShapeType.BentConnector3, 0, 0, 10, 10);
// Connect right side of box1 to left side of box2
conn.StartShapeConnectedTo = box1;
conn.StartShapeConnectionSiteIndex = 3; // right
conn.EndShapeConnectedTo = box2;
conn.EndShapeConnectionSiteIndex = 1; // left
prs.Save("connector.pptx", SaveFormat.Pptx);Τύποι Σχήματος Συνδέσμου
| ShapeType | Περιγραφή |
|---|---|
ShapeType.BentConnector3 | Δύο στροφές 90 μοιρών (το πιο κοινό για διαγράμματα τύπου ροής) |
ShapeType.BentConnector2 | Μία στροφή 90 μοιρών |
ShapeType.BentConnector4 | Τρεις στροφές 90 μοιρών |
ShapeType.StraightConnector1 | Απευθείας ευθεία γραμμή |
ShapeType.CurvedConnector2 | Μονή ομαλή καμπύλη |
ShapeType.CurvedConnector3 | Καμπύλη με διπλή στροφή |
Σύνδεση από πάνω προς τα κάτω
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var top = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 250, 80, 200, 60);
top.AddTextFrame("Decision");
var bottom = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 250, 300, 200, 60);
bottom.AddTextFrame("Action");
var conn = slide.Shapes.AddConnector(ShapeType.BentConnector3, 0, 0, 10, 10);
conn.StartShapeConnectedTo = top;
conn.StartShapeConnectionSiteIndex = 2; // bottom of top box
conn.EndShapeConnectedTo = bottom;
conn.EndShapeConnectionSiteIndex = 0; // top of bottom box
prs.Save("vertical-connector.pptx", SaveFormat.Pptx);Διάγραμμα Ροής με Πολλαπλούς Συνδέσμους
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
static IAutoShape AddBox(ISlide slide, string text, float x, float y,
float w = 160, float h = 50)
{
var s = slide.Shapes.AddAutoShape(ShapeType.Rectangle, x, y, w, h);
s.AddTextFrame(text);
return s;
}
static IConnector Connect(ISlide slide, IShape s1, int site1, IShape s2, int site2)
{
var conn = slide.Shapes.AddConnector(ShapeType.BentConnector3, 0, 0, 10, 10);
conn.StartShapeConnectedTo = s1;
conn.StartShapeConnectionSiteIndex = site1;
conn.EndShapeConnectedTo = s2;
conn.EndShapeConnectionSiteIndex = site2;
return conn;
}
using var prs = new Presentation();
var slide = prs.Slides[0];
var start = AddBox(slide, "Start", 260, 60);
var process = AddBox(slide, "Process Data", 260, 180);
var end = AddBox(slide, "End", 260, 300);
Connect(slide, start, 2, process, 0); // start -> process (bottom to top)
Connect(slide, process, 2, end, 0); // process -> end (bottom to top)
prs.Save("flowchart.pptx", SaveFormat.Pptx);Διαμόρφωση ενός Συνδέσμου
Οι συνδέσεις υποστηρίζουν τις ίδιες LineFormat ιδιότητες όπως άλλα σχήματα:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var box1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 150, 60);
var box2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 400, 150, 150, 60);
var conn = slide.Shapes.AddConnector(ShapeType.BentConnector3, 0, 0, 10, 10);
conn.StartShapeConnectedTo = box1;
conn.StartShapeConnectionSiteIndex = 3;
conn.EndShapeConnectedTo = box2;
conn.EndShapeConnectionSiteIndex = 1;
// Style the connector line
conn.LineFormat.Width = 2.5;
conn.LineFormat.DashStyle = LineDashStyle.Dash;
conn.LineFormat.FillFormat.SolidFillColor.Color = Color.DarkBlue;
prs.Save("styled-connector.pptx", SaveFormat.Pptx);