Bekerja dengan Penghubung — Aspose.Slides FOSS untuk .NET
Connector adalah bentuk yang secara visual menghubungkan dua bentuk lain dengan sebuah garis. Aspose.Slides FOSS for .NET mendukung connector bengkok, lurus, dan melengkung. Titik sambungan pada sebuah bentuk diidentifikasi oleh integer connection site indexes.
Indeks Situs Koneksi
Setiap bentuk menyediakan empat situs koneksi standar:
| Indeks | Sisi |
|---|---|
0 | Atas |
1 | Kiri |
2 | Bawah |
3 | Kanan |
Menambahkan Penyambung Bengkok Antara Dua Bentuk
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);Jenis Bentuk Penghubung
| ShapeType | Description |
|---|---|
ShapeType.BentConnector3 | Dua tikungan 90 derajat (paling umum untuk diagram alur) |
ShapeType.BentConnector2 | Satu tikungan 90 derajat |
ShapeType.BentConnector4 | Tiga tikungan 90 derajat |
ShapeType.StraightConnector1 | Garis lurus langsung |
ShapeType.CurvedConnector2 | Kurva halus tunggal |
ShapeType.CurvedConnector3 | Kurva dengan dua tikungan |
Koneksi Atas ke Bawah
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);Diagram Alur dengan Banyak Penyambung
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);Memformat Konektor
Konektor mendukung properti LineFormat yang sama seperti bentuk lainnya:
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);