图表绘图区
Contents
[
Hide
]
获取图表绘图区的宽度和高度
Aspose.Slides for PHP via Java 提供了一个简单的 API。
- 创建一个 Presentation 类的实例。
- 访问第一页幻灯片。
- 添加带有默认数据的图表。
- 在获取实际值之前调用方法 IChart.validateChartLayout()。
- 获取图表元素相对于图表左上角的实际 X 位置(左侧)。
- 获取图表元素相对于图表左上角的实际顶部位置。
- 获取图表元素的实际宽度。
- 获取图表元素的实际高度。
# 创建一个 Presentation 类的实例
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350);
$chart->validateChartLayout();
$x = $chart->getPlotArea()->getActualX();
$y = $chart->getPlotArea()->getActualY();
$w = $chart->getPlotArea()->getActualWidth();
$h = $chart->getPlotArea()->getActualHeight();
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
设置图表绘图区的布局模式
Aspose.Slides for PHP via Java 提供了一个简单的 API 以设置图表绘图区的布局模式。方法 setLayoutTargetType 和 getLayoutTargetType 已添加到 ChartPlotArea 类和 IChartPlotArea 接口。如果绘图区的布局手动定义,则该属性指定是按其内部(不包括轴和轴标签)还是外部(包括轴和轴标签)布局绘图区。有两个可能的值定义在 LayoutTargetType 枚举中。
- LayoutTargetType::Inner - 指定绘图区的大小应确定绘图区的大小,不包括刻度线和轴标签。
- LayoutTargetType::Outer - 指定绘图区的大小应确定绘图区的大小、刻度线和轴标签。
示例代码如下。
# 创建一个 Presentation 类的实例
$pres = new Presentation();
try {
$slide = $pres->getSlides()->get_Item(0);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 100, 600, 400);
$chart->getPlotArea()->setX(0.2);
$chart->getPlotArea()->setY(0.2);
$chart->getPlotArea()->setWidth(0.7);
$chart->getPlotArea()->setHeight(0.7);
$chart->getPlotArea()->setLayoutTargetType(LayoutTargetType::Inner);
$pres->save("SetLayoutMode_outer.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}