Настройка областей построения диаграмм презентаций в C++
Получить ширину и высоту области построения диаграммы
Aspose.Slides for 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 for C++ предоставляет простой API для установки режима компоновки области построения диаграммы. Свойство LayoutTargetType было добавлено к классам ChartPlotArea и IChartPlotArea. Если компоновка области построения определяется вручную, это свойство указывает, следует ли компоновать область построения по её внутренней части (не включая оси и подписи осей) или по внешней части (включая оси и подписи осей). Существует два возможных значения, определенных в перечислении LayoutTargetType.
- LayoutTargetType.Inner - указывает, что размер области построения определяет размер области построения, не включая деления и подписи осей.
- LayoutTargetType.Outer - указывает, что размер области построения определяет размер области построения, деления и подписи осей.
Пример кода приведён ниже.
Часто задаваемые вопросы
В каких единицах возвращаются ActualX, ActualY, ActualWidth и ActualHeight?
В пунктах; 1 дюйм = 72 пункта. Это координатные единицы Aspose.Slides.
Чем отличается область построения от области диаграммы с точки зрения содержимого?
Область построения — это область рисования данных (серии, линии сетки, линии тренда и т.д.); область диаграммы включает окружающие элементы (заголовок, легенду и т.д.). В 3D‑диаграммах область построения также включает стены/пол и оси.
Как интерпретируются X, Y, Width и Height области построения при ручной компоновке?
Они представляют собой дроби (0–1) от общего размера диаграммы; в этом режиме автоматическое позиционирование отключено, и используются заданные вами дробные значения.
Почему позиция области построения изменилась после добавления/перемещения легенды?
Легенда располагается в области диаграммы за пределами области построения, но влияет на компоновку и доступное пространство, поэтому область построения может смещаться, когда включено автоматическое позиционирование. (Это стандартное поведение диаграмм PowerPoint.)