Εργασία με συνδέσεις Aspose.Slides FOSS για το .NET
Οι συνδέσεις είναι μορφές που συνδεθούν οπτικά δύο άλλες μορφές με μια γραμμή. Aspose.Slides FOSS για .NET υποστηρίζει συνδρόμους, κατευθείαν και περιστρεφόμενα. Τα σημεία σύνδεσης σε μια μορφή εντοπίζονται από το ολοκληρωμένο Ινδρύσεις τοποθεσίας σύνδεσης.
Ινδρύσεις Ιστοσελίδας Συνδέσεων
Κάθε μορφή παρουσιάζει τέσσερις τυπικές τοποθεσίες σύνδεσης:
| Ινδρύσεις | πλευρά |
|---|---|
0 | Top |
1 | Αριστερά |
2 | Βάση |
3 | Δίκαια |
Προσθήκη ενός συνδετήρα Bent μεταξύ δύο μορφών
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 βαθμούς (πιο συνηθισμένα για διαγράμματα με στυλ flowchart) |
ShapeType.BentConnector2 | 90 βαθμοί κλίμακας |
ShapeType.BentConnector4 | Τρεις 90 βαθμούς βέλη |
ShapeType.StraightConnector1 | Αμετάβλητη γραμμή |
ShapeType.CurvedConnector2 | Μοναδική στυλ κουρβέντα |
ShapeType.CurvedConnector3 | Δύο-πεντάλινδρος Κούβας |
Top-to-Bottom σύνδεση
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);