组形状
Contents
[
Hide
]
使用 Aspose.Slides for PHP via Java 创建形状组、访问形状、取消分组和删除的示例。
添加组形状
创建一个包含两个基本形状的组。
function addGroupShape() {
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$group = $slide->getShapes()->addGroupShape();
$group->getShapes()->addAutoShape(ShapeType::Rectangle, 0, 0, 50, 50);
$group->getShapes()->addAutoShape(ShapeType::Ellipse, 60, 0, 50, 50);
$presentation->save("group_shape.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}
访问组形状
从幻灯片中检索第一个组形状。
function accessGroupShape() {
$presentation = new Presentation("group_shape.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// 访问幻灯片上的第一个组形状。
$firstGroup = null;
$shapeCount = java_values($slide->getShapes()->size());
for ($index = 0; $index < $shapeCount; $index++) {
$shape = $slide->getShapes()->get_Item($index);
if (java_instanceof($shape, new JavaClass("com.aspose.slides.GroupShape"))) {
$firstGroup = $shape;
break;
}
}
} finally {
$presentation->dispose();
}
}
删除组形状
从幻灯片中删除组形状。
function removeGroupShape() {
$presentation = new Presentation("group_shape.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// 假设幻灯片上的第一个形状是组形状。
$group = $slide->getShapes()->get_Item(0);
$slide->getShapes()->remove($group);
$presentation->save("group_shape_removed.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}
取消组形状
将形状移出组容器。
function ungroupShapes() {
$presentation = new Presentation("group_shape.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// 假设幻灯片上的第一个形状是组形状。
$group = $slide->getShapes()->get_Item(0);
// 从组中克隆每个形状并将其添加到幻灯片。
$shapeCount = java_values($group->getShapes()->size());
for ($index = 0; $index < $shapeCount; $index++) {
$shape = $group->getShapes()->get_Item($index);
$slide->getShapes()->addClone($shape);
}
$slide->getShapes()->remove($group);
$presentation->save("ungrouped_shapes.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}