data i icke primitiv form

Åtkomst till data av icke-primitiv form

Ibland behöver du få åtkomst till data från en form som inte är inbyggd. Inbyggda former kallas primitiva former; de som inte är det kallas icke-primitiva. Till exempel kan du definiera dina egna former med olika kurvanslutna linjer.

En icke-primitiv form

I Aspose.Cells är icke-primitiva former tilldelade typ AutoShapeType.NOT_PRIMITIVE. Du kan kontrollera deras typ med hjälp av metoden Shape.getAutoShapeType().

Få tillgång till formdata med hjälp av metoden Shape.getPaths(). Den returnerar alla anslutna banor som utgör den icke-primitiva formen. Dessa banor är av typen ShapePath som innehåller en lista över alla segment som i sin tur innehåller punkterna i varje segment.

Följande kodsnutt visar användningen av metoden Shape.getPaths() för att få tillgång till baninformation för icke-primitiv form.

Visar ett exempel på en icke-primitiv form

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the resource directory
String dataDir = Utils.getSharedDataDir(NonPrimitiveShape.class) + "DrawingObjects/";
Workbook workbook = new Workbook(dataDir + "NonPrimitiveShape.xlsx");
Worksheet worksheet = workbook.getWorksheets().get(0);
// Accessing the user defined shape
Shape shape = worksheet.getShapes().get(0);
if (shape.getAutoShapeType() == AutoShapeType.NOT_PRIMITIVE) {
// Access Shape paths
ShapePathCollection shapePathCollection = shape.getPaths();
// Access information of individual shape path
ShapePath shapePath = shapePathCollection.get(0);
// Access shape segment path list
ShapeSegmentPathCollection shapeSegmentPathCollection = shapePath.getPathSegementList();
// Access individual segment path
ShapeSegmentPath shapeSegmentPath = shapeSegmentPathCollection.get(0);
ShapePathPointCollection segmentPoints = shapeSegmentPath.getPoints();
for (Object obj : segmentPoints) {
ShapePathPoint pathPoint = (ShapePathPoint) obj;
System.out.println("X: " + pathPoint.getX() + ", Y: " + pathPoint.getY());
}
}