Данные в непримитивной форме

Доступ к данным не примитивной формы

Иногда вам нужно получить доступ к данным из фигуры, которая не встроена. Встроенные фигуры называются примитивными фигурами; те, которые не называются непримитивными. Например, вы можете определить свои собственные формы, используя различные кривые, соединенные линиями.

Непримитивная форма

В Aspose.Cells непримитивным формам присваивается типAutoShapeType.NOT_PRIMITIVE . Вы можете проверить их тип с помощьюФорма.getAutoShapeType()метод.

Доступ к данным формы с помощьюФорма.getPaths()метод. Он возвращает все связанные пути, которые составляют не примитивную форму. Эти пути относятся к типу ShapePath, который содержит список всех сегментов, которые, в свою очередь, содержат точки в каждом сегменте.

Следующий фрагмент кода демонстрирует использованиеФорма.getPaths()метод для доступа к информации о пути не примитивной формы.

Показывает пример непримитивной формы

дело:изображение_альтернативный_текст

// 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());
}
}