Làm việc với Đầu nối — Aspose.Slides FOSS cho .NET

Connectors là các hình dạng liên kết trực quan hai hình dạng khác bằng một đường. Aspose.Slides FOSS cho .NET hỗ trợ các kết nối cong, thẳng và uốn. Các điểm kết nối trên một hình dạng được xác định bằng số nguyên chỉ mục vị trí kết nối.


Connection Site Indexes => «<SEG_4»> Chỉ mục Vị trí Kết nối

Each shape exposes four standard connection sites: => «<SEG_5»> Mỗi hình dạng cung cấp bốn vị trí kết nối tiêu chuẩn:

Chỉ mụcMặt
0Trên
1Trái
2Dưới
3Phải

Adding a Bent Connector Between Two Shapes => «<SEG_6»> Thêm một Đầu nối Gập giữa Hai Hình dạng

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);

Connector Shape Types => «<SEG_7»> Các Loại Hình Đầu Nối

ShapeTypeMô tả
ShapeType.BentConnector3Hai góc 90 độ (phổ biến nhất cho các sơ đồ kiểu lưu đồ)
ShapeType.BentConnector2Một góc 90 độ
ShapeType.BentConnector4Ba góc 90 độ
ShapeType.StraightConnector1Đường thẳng trực tiếp
ShapeType.CurvedConnector2Đường cong mượt đơn
ShapeType.CurvedConnector3Đường cong gấp đôi

Top-to-Bottom Connection => «<SEG_8»> Kết nối Từ Trên Xuống Dưới

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);

Flowchart with Multiple Connectors => «<SEG_9»> Lưu đồ với Nhiều Đầu nối

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);

Định dạng một đầu nối

Các kết nối hỗ trợ cùng LineFormat các thuộc tính như các hình dạng khác:

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);

Xem Thêm

 Tiếng Việt