Блок-схеми створюються або розроблені для представлення різних робочих процесів. У певних ситуаціях вам може знадобитися створити блок-схеми для керування різними ситуаціями. У цій статті розповідається про те, як програмно створити блок-схему в C#.
Встановіть C# API для створення блок-схеми
Ви можете створювати блок-схеми за допомогою API Aspose.Diagram for .NET. Він підтримує створення або редагування файлів Visio у VSD, VSDX та інших підтримуваних форматах. Ви можете легко встановити API, завантаживши файл DLL із розділу Нові випуски або скориставшись диспетчером пакетів NuGet із такою командою встановлення:
PM> Install-Package Aspose.Diagram
Програмне створення блок-схеми на C#
Ви можете створити блок-схему різних процесів відповідно до ваших вимог. Щоб створити блок-схеми, виконайте наведені нижче дії.
- Спочатку створіть схему для створення діаграми.
- Завантажте шаблон для додавання фігур за допомогою класу Diagram.
- Додавання фігур і з’єднувачів зі схеми.
- Встановіть макет блок-схеми.
- Нарешті, запишіть вихідний файл із блок-схемою у форматі VSDX за допомогою методу Save.
У наведеному нижче фрагменті коду детально описано, як програмно створити блок-схему на C#:
class Program
{
static void Main(string[] args)
{
// схему для діаграми, яка буде створена
Input diagramObject = new Input()
{
InputRectangles = new List<InputRectangle>() {
new InputRectangle() {
Name = "A",
Text = "Manager"
},
new InputRectangle() {
Name = "B",
Text = "Team Leader"
},
new InputRectangle() {
Name = "C",
Text = "Team Member"
},
new InputRectangle() {
Name = "D",
Text = "Team Member"
},
new InputRectangle() {
Name = "E",
Text = "Team Member"
}
},
InputConnectors = new List<InputConnector>() {
new InputConnector() {
OriginShapeName = "A",
DestinationShapeName = "B"
},
new InputConnector() {
OriginShapeName = "B",
DestinationShapeName = "C"
},
new InputConnector() {
OriginShapeName = "B",
DestinationShapeName = "D"
},
new InputConnector() {
OriginShapeName = "B",
DestinationShapeName = "E"
}
}
};
Diagram diagram = new Diagram("BasicShapes.vss");
Page page = diagram.Pages[0];
Dictionary<string, long> shapeNames = new Dictionary<string, long>();
//Додавання фігур і з’єднувачів зі схеми
foreach (var rectangle in diagramObject.InputRectangles)
{
Shape shape = new Shape();
var shapeId = diagram.AddShape(shape, @"Rectangle", 0);
shapeNames.Add(rectangle.Name, shapeId);
shape = page.Shapes.GetShape(shapeId);
shape.Text.Value.Add(new Txt(rectangle.Text));
}
foreach (var connector in diagramObject.InputConnectors)
{
var connectorId = diagram.AddShape(new Shape(), "Dynamic connector", 0);
page.ConnectShapesViaConnector(shapeNames[connector.OriginShapeName],
ConnectionPointPlace.Right,
shapeNames[connector.DestinationShapeName],
ConnectionPointPlace.Left,
connectorId);
}
LayoutOptions layoutOptions = new LayoutOptions()
{
LayoutStyle = LayoutStyle.FlowChart,
Direction = LayoutDirection.LeftToRight,
SpaceShapes = 5,
EnlargePage = true
};
diagram.Layout(layoutOptions);
page.PageSheet.PrintProps.PrintPageOrientation.Value = PrintPageOrientationValue.Landscape;
DiagramSaveOptions saveOptions = new DiagramSaveOptions()
{
SaveFormat = SaveFileFormat.Vsdx,
AutoFitPageToDrawingContent = true
};
diagram.Save("output.vsdx", saveOptions);
}
}
public class Input
{
public System.Collections.Generic.List<InputRectangle> InputRectangles { get; set; }
public System.Collections.Generic.List<InputConnector> InputConnectors { get; set; }
}
public class InputRectangle
{
public string Name { get; set; }
public string Text { get; set; }
}
public class InputConnector
{
public string OriginShapeName { get; set; }
public string DestinationShapeName { get; set; }
}
Завантажити зразок проекту
Ви можете завантажити зразок проекту разом із вхідними та вихідними файлами.
Попередній перегляд блок-схеми вихідних даних
Отримайте безкоштовну ліцензію API
Ви можете оцінити всі функції API без будь-яких обмежень, надіславши запит на безкоштовну тимчасову ліцензію.
Висновок
У цій статті ви дізналися, як програмно створювати або робити блок-схеми за допомогою C#. Ви можете створювати різні форми, як-от рішення, процес, а також різні макети, як-от зліва направо або справа наліво тощо. Крім того, ви можете відвідати [документацію] API 10, щоб дізнатися більше про функції API. Будь ласка, зв’яжіться з нами на форумі.