Данные в непримитивной форме
Contents
[
Hide
]
Доступ к данным не примитивной формы
Иногда вам нужно получить доступ к данным из фигуры, которая не встроена. Встроенные фигуры называются примитивными фигурами; те, которые не называются непримитивными. Например, вы можете определить свои собственные формы, используя различные кривые, соединенные линиями.
Непримитивная форма
В Aspose.Cells непримитивным формам присваивается типAutoShapeType.NotPrimitive . Вы можете проверить их тип с помощьюФорма.AutoShapeTypeимущество.
Доступ к данным формы с помощьюФорма.Путиимущество. Он возвращает все связанные пути, которые составляют не примитивную форму. Эти пути относятся к типуПуть формыкоторый содержит список всех сегментов, которые, в свою очередь, содержат точки в каждом сегменте.
Показывает пример непримитивной формы |
---|
![]() |
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); | |
} | |
} | |
} | |
} |