Площадка для построения диаграмм
Получить ширину и высоту площадки для построения диаграмм
Aspose.Slides для C++ предоставляет простой API для.
- Создайте экземпляр класса Presentation.
- Получите первый слайд.
- Добавьте диаграмму с данными по умолчанию.
- Вызовите метод IChart::ValidateChartLayout() перед тем, как получить фактические значения.
- Получите фактическое положение по оси X (слева) элемента диаграммы относительно левого верхнего угла диаграммы.
- Получите фактическую верхнюю часть элемента диаграммы относительно левого верхнего угла диаграммы.
- Получите фактическую ширину элемента диаграммы.
- Получите фактическую высоту элемента диаграммы.
auto pres = System::MakeObject<Presentation>(u"test.Pptx");
auto chart = System::ExplicitCast<Chart>(pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100.0f, 100.0f, 500.0f, 350.0f));
chart->ValidateChartLayout();
double x = chart->get_PlotArea()->get_ActualX();
double y = chart->get_PlotArea()->get_ActualY();
double w = chart->get_PlotArea()->get_ActualWidth();
double h = chart->get_PlotArea()->get_ActualHeight();
// Сохраните презентацию с диаграммой
pres->Save(u"Chart_out.pptx", SaveFormat::Pptx);
Установить режим компоновки площадки для построения диаграмм
Aspose.Slides для C++ предоставляет простой API для установки режима компоновки площадки для построения диаграмм. Свойство LayoutTargetType было добавлено в классы ChartPlotArea и IChartPlotArea. Если компоновка площадки определена вручную, это свойство определяет, следует ли компонировать площадку по ее внутреннему содержимому (не включая оси и метки осей) или снаружи (включая оси и метки осей). Есть два возможных значения, определенных в перечислении LayoutTargetType.
- LayoutTargetType.Inner - указывает, что размер площадки для построения должен определять размер площадки, не включая метки и оси.
- LayoutTargetType.Outer - указывает, что размер площадки для построения должен определять размер площадки, включая метки и оси.
Пример кода приведен ниже.
// The path to the documents directory. | |
const String outPath = u"../out/SetLayoutMode_out.pptx"; | |
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(); | |
System::SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0); | |
System::SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 20.0f, 100.0f, 600.0f, 400.0f); | |
chart->get_PlotArea()->set_X(0.2f); | |
chart->get_PlotArea()->set_Y(0.2f); | |
chart->get_PlotArea()->set_Width(0.7f); | |
chart->get_PlotArea()->set_Height(0.7f); | |
chart->get_PlotArea()->set_LayoutTargetType(Aspose::Slides::Charts::LayoutTargetType::Inner); | |
presentation->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |