[]
        
(Showing Draft Content)

控制重叠形状的位置

工作表中重叠形状的顺序由其 z-order位置决定。GcExcel允许用户设置形状的 z-order,以便在创建流程图或业务图等时可以控制形状的位置。

GcExcel API中的zOrder方法可用于在其他形状之前或之后移动指定的形状。它采用ZOrderType枚举作为参数来指定形状相对于其他形状的位置。

可以使用IShape接口的getZOrderPosition方法以z-order检索指定形状的位置。

注意: 如果形状的z-order发生更改,则形状的索引工作表形状集合也会更改。

用例代码

请参阅下面的示例代码,以添加各种形状、更改它们的z顺序并在工作表中以z-order获取它们的位置。

// Create a new workbook
Workbook workbook = new Workbook();
// Fetch default worksheet
IWorksheet worksheet = workbook.getActiveSheet();

IShapes shapes = worksheet.getShapes();

// Add shapes
IShape rectangle = shapes.addShape(AutoShapeType.Rectangle, 20, 20, 100, 100);
rectangle.getFill().getColor().setRGB(Color.GetBlue());

IShape oval = shapes.addShape(AutoShapeType.Oval, 50, 50, 100, 100);
oval.getFill().getColor().setRGB(Color.GetGreen());

IShape pentagon = shapes.addShape(AutoShapeType.Pentagon, 80, 80, 100, 100);
pentagon.getFill().getColor().setRGB(Color.GetRed());

IShape triangle = shapes.addShape(AutoShapeType.IsoscelesTriangle, 100, 100, 100, 100);
triangle.getFill().getColor().setRGB(Color.GetOrange());

// Set rectangle above oval
rectangle.zOrder(ZOrderType.BringForward);

// Get position of rectangle in z-order
System.out.println("Z-Order rectangle: " + rectangle.getZOrderPosition());

// Set triangle to bottom
triangle.zOrder(ZOrderType.SendToBack);

// Get position of triangle in z-order
System.out.println("Z-Order triangle: " + triangle.getZOrderPosition());

// Save to an excel file
workbook.save("SetShapeZOrder.xlsx");