العمل مع الموصلات — Aspose.Slides FOSS for .NET
الموصلات هي أشكال تربط بصريًا شكلين آخرين بخط. Aspose.Slides FOSS لـ .NET يدعم الموصلات المنحنية، المستقيمة، والمنحنية. نقاط الاتصال على الشكل يتم تحديدها بأعداد صحيحة مؤشرات مواقع الاتصال.
فهارس مواقع الاتصال
كل شكل يُظهر أربعة مواقع اتصال قياسية:
| المؤشر | الجانب |
|---|---|
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);