Travailler avec les connecteurs — Aspose.Slides FOSS pour .NET
Les connecteurs sont des formes qui relient visuellement deux autres formes par une ligne. Aspose.Slides FOSS for .NET prend en charge les connecteurs coudés, droits et courbes. Les points de connexion sur une forme sont identifiés par des entiers connection site indexes.
Index des sites de connexion
Chaque forme expose quatre sites de connexion standard :
| Index | Côté |
|---|---|
0 | Haut |
1 | Gauche |
2 | Bas |
3 | Droite |
Ajout d’un connecteur coudé entre deux formes
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);Types de formes de connecteur
| ShapeType | Description |
|---|---|
ShapeType.BentConnector3 | Deux coudes à 90 degrés (le plus courant pour les diagrammes de type organigramme) |
ShapeType.BentConnector2 | Un coude à 90 degrés |
ShapeType.BentConnector4 | Trois coudes à 90 degrés |
ShapeType.StraightConnector1 | Ligne droite directe |
ShapeType.CurvedConnector2 | Courbe lisse simple |
ShapeType.CurvedConnector3 | Courbe à double coude |
Connexion de haut en bas
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);Diagramme de flux avec plusieurs connecteurs
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);Mise en forme d’un connecteur
Les connecteurs prennent en charge les mêmes propriétés LineFormat que les autres formes :
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);