Dati in forma non primitiva

Accesso ai dati di forma non primitiva

A volte è necessario accedere ai dati da una forma non incorporata. Le forme incorporate sono chiamate forme primitive; quelli che non lo sono sono chiamati non primitivi. Ad esempio, puoi definire le tue forme utilizzando diverse linee curve collegate.

Una forma non primitiva

In Aspose.Cells, alle forme non primitive viene assegnato il tipoAutoShapeType.NotPrimitive . Puoi controllare il loro tipo usando il fileShape.AutoShapeTypeproprietà.

Accedere ai dati della forma utilizzando il fileShape.Percorsiproprietà. Restituisce tutti i percorsi collegati che costituiscono la forma non primitiva. Questi percorsi sono del tipoShapePathche contiene un elenco di tutti i segmenti che a loro volta contengono i punti in ciascun segmento.

Mostra un esempio di forma non primitiva
cose da fare:immagine_alt_testo
// 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);
}
}
}
}