流程圖 是為代表不同的工作流程而創建或設計的。在某些情況下,您可能需要創建流程圖來管理不同的情況。本文介紹如何在 C# 中以編程方式創建流程圖。
安裝C# API製作流程圖
您可以使用 Aspose.Diagram for .NET API 製作流程圖。它支持在 VSD、VSDX 和其他支持的格式 中創建或編輯 Visio 文件。您可以通過從 New Releases 部分下載 DLL 文件或使用 NuGet 包管理器和以下安裝命令輕鬆安裝 API:
PM> Install-Package Aspose.Diagram
在 C# 中以編程方式製作流程圖
您可以根據您的要求製作不同流程的流程圖。請按照以下步驟創建流程圖:
以下代碼片段詳細說明瞭如何在 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 文檔 以了解 API 的更多功能。請隨時通過 論壇 與我們聯繫。