Создание миниатюр фигур презентации в C++
Создание миниатюры фигуры
Aspose.Slides for C++ используется для создания файлов презентаций, где каждая страница представляет собой слайд. Эти слайды можно просматривать, открывая файлы презентаций в Microsoft PowerPoint. Но иногда разработчикам требуется просмотреть изображения фигур отдельно в просмотрщике изображений. В таком случае Aspose.Slides for C++ помогает создать миниатюры фигур слайдов. Как использовать эту функцию, описано в этой статье. В статье объясняется, как генерировать миниатюры слайдов различными способами:
- Генерация миниатюры фигуры внутри слайда.
- Генерация миниатюры фигуры с пользовательскими размерами.
- Генерация миниатюры в границах внешнего вида фигуры.
- Генерация миниатюры дочернего узла SmartArt.
Генерация миниатюры фигуры со слайда
Чтобы сгенерировать миниатюру фигуры с любого слайда с помощью Aspose.Slides for C++:
- Создайте экземпляр класса Presentation .
- Получите ссылку на любой слайд по его идентификатору или индексу.
- Получите изображение миниатюры фигуры указанного слайда в масштабе по умолчанию.
- Сохраните изображение миниатюры в нужном формате.
Пример ниже генерирует миниатюру фигуры.
auto presentation = MakeObject<Presentation>(u"HelloWorld.pptx");
auto shape = presentation->get_Slide(0)->get_Shape(0);
auto image = shape->GetImage();
image->Save(u"Shape_thumbnail_out.png", ImageFormat::Png);
image->Dispose();
presentation->Dispose();
Генерация миниатюры с пользовательским коэффициентом масштабирования
Чтобы сгенерировать миниатюру фигуры любого слайда с помощью Aspose.Slides for C++:
- Создайте экземпляр класса Presentation .
- Получите ссылку на любой слайд по его идентификатору или индексу.
- Получите изображение миниатюры указанного слайда с границами фигуры.
- Сохраните изображение миниатюры в нужном формате.
Пример ниже генерирует миниатюру с пользовательским коэффициентом масштабирования.
auto bounds = ShapeThumbnailBounds::Shape;
auto scale = 1; // Масштабирование вдоль осей X и Y.
auto presentation = MakeObject<Presentation>(u"HelloWorld.pptx");
auto shape = presentation->get_Slide(0)->get_Shape(0);
auto image = shape->GetImage(bounds, scale, scale);
image->Save(u"Scaling Factor Thumbnail_out.png", ImageFormat::Png);
image->Dispose();
presentation->Dispose();
Создание миниатюры фигуры на основе границ внешнего вида
Этот метод создания миниатюр фигур позволяет разработчикам генерировать миниатюру в границах внешнего вида фигуры. Он учитывает все эффекты фигуры. Сгенерированная миниатюра фигуры ограничена границами слайда. Чтобы сгенерировать миниатюру любой фигуры слайда в границах её внешнего вида, используйте следующий пример кода:
- Создайте экземпляр класса Presentation .
- Получите ссылку на любой слайд по его идентификатору или индексу.
- Получите изображение миниатюры указанного слайда с границами фигуры как внешнего вида.
- Сохраните изображение миниатюры в нужном формате.
Пример ниже создаёт миниатюру с пользовательским коэффициентом масштабирования.
auto bounds = ShapeThumbnailBounds::Appearance;
auto scale = 1; // Масштабирование вдоль осей X и Y.
auto presentation = MakeObject<Presentation>(u"HelloWorld.pptx");
auto shape = presentation->get_Slide(0)->get_Shape(0);
auto image = shape->GetImage(bounds, scale, scale);
image->Save(u"Shape_thumbnail_Bound_Shape_out.png", ImageFormat::Png);
image->Dispose();
presentation->Dispose();
FAQ
Какие форматы изображений можно использовать при сохранении миниатюр фигур?
PNG, JPEG, BMP, GIF, TIFF, и другие. Фигуры также можно экспортировать как векторный SVG сохраняя содержание фигуры в SVG.
В чём разница между границами Shape и Appearance при рендеринге миниатюры?
Shape использует геометрию фигуры; Appearance учитывает визуальные эффекты (тени, свечения и т.д.).
Что происходит, если фигура помечена как скрытая? Будет ли она всё равно отображена в виде миниатюры?
Скрытая фигура остаётся частью модели и может быть отрисована; флаг скрытия влияет только на отображение в показе, но не препятствует генерации изображения фигуры.
Поддерживаются ли групповые фигуры, диаграммы, SmartArt и другие сложные объекты?
Да. Любой объект, представленный как Shape (включая GroupShape, Chart, и SmartArt), можно сохранить как миниатюру или как SVG.
Влияют ли системно установленные шрифты на качество миниатюр текстовых фигур?
Да. Необходимо предоставить требуемые шрифты (или настроить подстановку шрифтов), чтобы избежать нежелательных замен и переподгонки текста.