
Schematy blokowe są tworzone lub projektowane w celu reprezentowania różnych przepływów pracy. W niektórych sytuacjach może być konieczne utworzenie schematów blokowych w celu zarządzania różnymi sytuacjami. W tym artykule opisano, jak programowo utworzyć diagram schematu blokowego w języku C#.
- Zainstaluj interfejs API języka C#, aby utworzyć diagram schematu blokowego
- Utwórz programowo diagram schematu blokowego przy użyciu języka C#
Zainstaluj interfejs API języka C#, aby utworzyć diagram schematu blokowego
Diagramy schematów blokowych można tworzyć za pomocą interfejsu API Aspose.Diagram for .NET. Obsługuje tworzenie lub edytowanie plików Visio w formatach VSD, VSDX i innych obsługiwanych formatach. Możesz łatwo zainstalować API, pobierając plik DLL z sekcji New Releases lub używając Menedżera pakietów NuGet za pomocą następującego polecenia instalacyjnego:
PM> Install-Package Aspose.Diagram
Utwórz schemat blokowy programowo w C#
Możesz utworzyć schemat blokowy różnych procesów zgodnie z własnymi wymaganiami. Wykonaj poniższe czynności, aby utworzyć schematy blokowe:
- Najpierw utwórz schemat tworzenia diagramu.
- Załaduj wzorzec do dodawania kształtów za pomocą klasy Diagram.
- Dodawanie kształtów i łączników ze schematu.
- Ustaw układ diagramu schematu blokowego.
- Na koniec zapisz plik wyjściowy ze schematem blokowym w formacie VSDX przy użyciu metody Save.
Poniższy fragment kodu wyjaśnia, jak programowo utworzyć schemat blokowy w języku C#:
class Program
{
static void Main(string[] args)
{
// schemat diagramu, który ma zostać utworzony
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>();
//Dodawanie kształtów i łączników ze schematu
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; }
}
Pobierz przykładowy projekt
Możesz pobrać przykładowy projekt wraz z plikami wejściowymi i wyjściowymi.
Przykładowy podgląd schematu blokowego danych wyjściowych

Uzyskaj bezpłatną licencję API
Możesz ocenić wszystkie funkcje API bez żadnych ograniczeń, prosząc o darmową licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się, jak programowo tworzyć lub tworzyć schematy blokowe przy użyciu języka C#. Możesz projektować różne kształty, takie jak decyzja, proces, a także różne układy, takie jak od lewej do prawej lub od prawej do lewej itp. Ponadto możesz odwiedzić API dokumentacja, aby dowiedzieć się więcej o funkcjach API. Skontaktuj się z nami na forum.