Как создать блок-схему на C#

В этой статье объясняется, как создать блок-схему на C#. В нем описан пошаговый процесс, а также пример кода для разработки создателя блок-схем на C#. Более того, вы можете импровизировать код, изменяя схему, количество фигур, соединений и другие функции, чтобы создать flowchart в соответствии с вашими требованиями.

Действия по созданию блок-схемы на C#

  1. Установите API Aspose.Diagram, чтобы создать блок-схему.
  2. Создайте схему для блок-схемы
  3. Загрузите образцы фигур для вставки фигур с помощью класса Diagram.
  4. Установите макет и экспортируйте блок-схему с помощью метода Save.

Эти шаги подробно описывают создание генератора блок-схем на C#. Прежде всего, создайте схему для указания ролей, обозначений и т. д., а затем используйте основные фигуры для добавления основных фигур, таких как прямоугольники, соединители и т. д. Наконец, добавьте фигуры и настройте макет, прежде чем сохранять выходную блок-схему в соответствии с вашими требованиями. .

Код для создания блок-схемы на C#

using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args) // Create flowchart in C#
{
// Set the license
new Aspose.Diagram.License().SetLicense("License.lic");
// schema for the diagram to be created
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"
}
}
};
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram("BasicShapes.vss");
Aspose.Diagram.Page page = diagram.Pages[0];
Dictionary<string, long> shapeNames = new Dictionary<string, long>();
// Add shapes
foreach (var rectangle in diagramObject.InputRectangles)
{
Aspose.Diagram.Shape shape = new Aspose.Diagram.Shape();
var shapeId = diagram.AddShape(shape, @"Rectangle", 0);
shapeNames.Add(rectangle.Name, shapeId);
shape = page.Shapes.GetShape(shapeId);
shape.Text.Value.Add(new Aspose.Diagram.Txt(rectangle.Text));
}
foreach (var connector in diagramObject.InputConnectors)
{
var connectorId = diagram.AddShape(new Aspose.Diagram.Shape(), "Dynamic connector", 0);
page.ConnectShapesViaConnector(shapeNames[connector.OriginShapeName],
Aspose.Diagram.Manipulation.ConnectionPointPlace.Right,
shapeNames[connector.DestinationShapeName],
Aspose.Diagram.Manipulation.ConnectionPointPlace.Left,
connectorId);
}
Aspose.Diagram.AutoLayout.LayoutOptions layoutOptions = new Aspose.Diagram.AutoLayout.LayoutOptions()
{
LayoutStyle = Aspose.Diagram.AutoLayout.LayoutStyle.FlowChart,
Direction = Aspose.Diagram.AutoLayout.LayoutDirection.LeftToRight,
SpaceShapes = 5,
EnlargePage = true
};
diagram.Layout(layoutOptions);
page.PageSheet.PrintProps.PrintPageOrientation.Value = Aspose.Diagram.PrintPageOrientationValue.Landscape;
Aspose.Diagram.Saving.DiagramSaveOptions saveOptions = new Aspose.Diagram.Saving.DiagramSaveOptions()
{
SaveFormat = Aspose.Diagram.SaveFileFormat.Vsdx,
AutoFitPageToDrawingContent = true
};
diagram.Save("flowchart.vsdx", saveOptions);
Console.WriteLine("Done");
}
}
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; }
}

Этот пример кода можно использовать для рисования блок-схемы на C#. Принимая во внимание, что пользовательские классы также определены для создания соединителей и прямоугольных форм. Впоследствии класс Diagram используется для загрузки основных фигур перед настройкой макета и экспортом созданной блок-схемы.

В этом руководстве подробно описана информация для создания построителя блок-схем на C#. Однако, если вы хотите объединить файлы Visio, обратитесь к статье как объединить файлы Visio в C#.

 Русский