کار با کانکتورها — Aspose.Slides FOSS برای .NET

Connectors شکل‌هایی هستند که به‌صورت بصری دو شکل دیگر را با یک خط به هم وصل می‌کنند. Aspose.Slides FOSS برای .NET از اتصالات خمیده، مستقیم و منحنی پشتیبانی می‌کند. نقاط اتصال روی یک شکل با عدد صحیح integer شناسایی می‌شوند. شاخص‌های مکان اتصال.


شاخص‌های مکان اتصال

هر شکل چهار مکان اتصال استاندارد را ارائه می‌دهد:

شاخصطرف
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);

همچنین ببینید

 فارسی