Kā savienot formas ar savienotājiem .NET

Kā savienot formas ar savienotājiem .NET

Savienotāji Aspose.Slides FOSS ir līniju formas, kas pievienojas savienojuma vietām citās formās. Kad pārvietojat savienotu formu, savienotāja galapunkts pārvietojas kopā ar to. Visbiežāk izmantotais savienotāja veids ir BentConnector3, kas maršrutē ap šķēršļiem ar vienu elkoņa locījumu.


Priekšnosacījumi

dotnet add package Aspose.Slides.Foss

Savienojuma vietas indeksi

Katram formam ir četri numurēti savienojuma punkti:

IndekssPozīcija
0Augšējais centrs
1Kreisais centrs
2Apakšējais centrs
3Labais centrs

Savienot divas formas

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];

// Add two rectangles
var box1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 200, 200, 100);
var box2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 450, 200, 200, 100);

box1.AddTextFrame("Start");
box2.AddTextFrame("End");

// Add a bent connector (initial bounds are overwritten by the connection)
var conn = slide.Shapes.AddConnector(ShapeType.BentConnector3, 0, 0, 10, 10);

// Connect right side of box1 (site 3) to left side of box2 (site 1)
conn.StartShapeConnectedTo = box1;
conn.StartShapeConnectionSiteIndex = 3;
conn.EndShapeConnectedTo = box2;
conn.EndShapeConnectionSiteIndex = 1;

prs.Save("connected.pptx", SaveFormat.Pptx);

Viettura robežas (0, 0, 10, 10), kas nodotas AddConnector, tiek ignorētas, kad savienojuma galapunkti ir iestatīti; PowerPoint pāradresē savienotāju uz pievienotajām formām.


Savienotāju veidi

// Straight line
ShapeType.StraightConnector1

// Single elbow (L-shape)
ShapeType.BentConnector2

// Double elbow (Z-shape): most common
ShapeType.BentConnector3

// Curved connector
ShapeType.CurvedConnector3

Stilizēt savienojuma līniju

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, 180, 80);
var box2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 500, 300, 180, 80);

var conn = slide.Shapes.AddConnector(ShapeType.BentConnector3, 0, 0, 10, 10);
conn.StartShapeConnectedTo = box1;
conn.StartShapeConnectionSiteIndex = 2;   // bottom of box1
conn.EndShapeConnectedTo = box2;
conn.EndShapeConnectionSiteIndex = 0;     // top of box2

// Style: dashed blue line, 2 pt width
var lf = conn.LineFormat;
lf.Width = 2.0;
lf.FillFormat.SolidFillColor.Color = Color.Blue;
lf.DashStyle = LineDashStyle.Dash;

prs.Save("styled-connector.pptx", SaveFormat.Pptx);

Plūsmas diagramma ar vairākiem savienotājiem

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];

// Three-step flowchart
var step1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 350, 50, 200, 70);
var step2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 350, 220, 200, 70);
var step3 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 350, 390, 200, 70);

step1.AddTextFrame("Step 1");
step2.AddTextFrame("Step 2");
step3.AddTextFrame("Step 3");

void ConnectVertical(IShapeCollection shapes, IShape topShape, IShape bottomShape)
{
    var c = shapes.AddConnector(ShapeType.BentConnector3, 0, 0, 10, 10);
    c.StartShapeConnectedTo = topShape;
    c.StartShapeConnectionSiteIndex = 2;   // bottom
    c.EndShapeConnectedTo = bottomShape;
    c.EndShapeConnectionSiteIndex = 0;     // top
}

ConnectVertical(slide.Shapes, step1, step2);
ConnectVertical(slide.Shapes, step2, step3);

prs.Save("flowchart.pptx", SaveFormat.Pptx);

Nolasīt savienotāja īpašības

using Aspose.Slides.Foss;

using var prs = new Presentation("connected.pptx");
foreach (var shape in prs.Slides[0].Shapes)
{
    if (shape is Connector connector)
    {
        var start = connector.StartShapeConnectedTo;
        var end = connector.EndShapeConnectedTo;
        Console.WriteLine($"Connector: {start?.Name ?? "?"} -> {end?.Name ?? "?"}");
    }
}

Skatīt arī

 Latviešu