Data i icke-primitiv form
Contents
[
Hide
]
Åtkomst till data av icke-primitiv form
Ibland behöver du komma åt data från en form som inte är inbyggd. Inbyggda former kallas primitiva former; de som inte är det kallas icke-primitiva. Du kan till exempel definiera dina egna former med hjälp av olika kurvanslutna linjer.
En icke-primitiv form
Aspose.Cells tilldelas icke-primitiva former typenAutoShapeType.NotPrimitive . Du kan kontrollera deras typ med hjälp avShape.AutoShapeTypefast egendom.
Få åtkomst till formdata med hjälp avShape.Pathsfast egendom. Den returnerar alla anslutna banor som utgör den icke-primitiva formen. Dessa vägar är av typenShapePathsom innehåller en lista över alla segment som i sin tur innehåller punkterna i varje segment.
Visar ett exempel på en icke-primitiv 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); | |
} | |
} | |
} | |
} |