Daten in nicht primitiver Form
Contents
[
Hide
]
Zugreifen auf Daten nicht-primitiver Form
Manchmal müssen Sie auf Daten aus einem Shape zugreifen, das nicht integriert ist. Eingebaute Formen werden primitive Formen genannt; diejenigen, die es nicht sind, werden als nicht-primitiv bezeichnet. Beispielsweise können Sie Ihre eigenen Formen definieren, indem Sie verschiedene Kurven verbundene Linien verwenden.
Eine nicht primitive Form
In Aspose.Cells wird nicht primitiven Formen der Typ zugewiesenAutoShapeType.NotPrimitive . Sie können ihren Typ mit überprüfenShape.AutoShapeTypeEigentum.
Greifen Sie mit dem auf die Formdaten zuForm.PfadeEigentum. Es gibt alle verbundenen Pfade zurück, die die nicht primitive Form umfassen. Diese Pfade sind vom TypShapePathdie eine Liste aller Segmente enthält, die wiederum die Punkte in jedem Segment enthalten.
Zeigt ein Beispiel einer nicht primitiven Form |
---|
![]() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
Workbook workbook = new Workbook(dataDir + "NonPrimitiveShape.xlsx"); | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Accessing the user defined shape | |
Shape shape = worksheet.Shapes[0]; | |
if (shape.AutoShapeType == AutoShapeType.NotPrimitive) | |
{ | |
// Access shape's data | |
ShapePathCollection shapePathCollection = shape.Paths; | |
// Access information of indvidual path | |
foreach (ShapePath shapePath in shapePathCollection) | |
{ | |
// Access path segment list | |
ShapeSegmentPathCollection pathSegments = shapePath.PathSegementList; | |
// Access individual path segment | |
foreach (ShapeSegmentPath pathSegment in pathSegments) | |
{ | |
// Gets the points in path segment | |
ShapePathPointCollection segmentPoints = pathSegment.Points; | |
foreach (ShapePathPoint pathPoint in segmentPoints) | |
{ | |
Console.WriteLine("X: " + pathPoint.X + ", Y: " + pathPoint.Y); | |
} | |
} | |
} | |
} |