Настройка областей построения диаграмм презентаций в C++

Получить ширину и высоту области построения диаграммы

Aspose.Slides for C++ предоставляет простой API для .

  1. Создайте экземпляр класса Presentation.
  2. Получите первый слайд.
  3. Добавьте диаграмму с данными по умолчанию.
  4. Вызовите метод IChart::ValidateChartLayout() перед получением фактических значений.
  5. Получает фактическое положение X (слева) элемента диаграммы относительно левого верхнего угла диаграммы.
  6. Получает фактическую верхнюю позицию элемента диаграммы относительно левого верхнего угла диаграммы.
  7. Получает фактическую ширину элемента диаграммы.
  8. Получает фактическую высоту элемента диаграммы.
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.)