Создание миниатюр фигур презентации в .NET

Aspose.Slides for .NET используется для создания файлов презентаций, где каждая страница является слайдом. Эти слайды можно просматривать, открывая файлы презентаций с помощью Microsoft PowerPoint. Но иногда разработчикам может потребоваться просматривать изображения фигур отдельно в просмотрщике изображений. В таких случаях Aspose.Slides for .NET помогает генерировать миниатюры изображений фигур слайдов. Как использовать эту функцию описано в этой статье.

В этой статье объясняется, как генерировать миниатюры слайдов разными способами:

  • Создание миниатюры фигуры внутри слайда.
  • Создание миниатюры фигуры слайда с пользовательскими размерами.
  • Создание миниатюры фигуры в пределах внешнего вида фигуры.
  • Создание миниатюры дочернего узла SmartArt.

Создать миниатюру фигуры из слайда

Для создания миниатюры фигуры из любого слайда с помощью Aspose.Slides for .NET:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на любой слайд, используя его ID или индекс.
  3. Получите изображение миниатюры фигуры ссылки на слайд в масштабе по умолчанию.
  4. Сохраните изображение миниатюры в любой нужный формат изображения.

Ниже приведён пример создания миниатюры фигуры.

using (Presentation presentation = new Presentation("HelloWorld.pptx"))
{
    IShape shape = presentation.Slides[0].Shapes[0];
    using (IImage image = shape.GetImage())
    {
        image.Save("Shape_thumbnail_out.png", ImageFormat.Png);
    }
}

Создать миниатюру с пользовательским коэффициентом масштабирования

Для создания миниатюры фигуры любого слайда с помощью Aspose.Slides for .NET:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на любой слайд, используя его ID или индекс.
  3. Получите изображение миниатюры ссылки на слайд с границами фигуры.
  4. Сохраните изображение миниатюры в любой нужный формат изображения.

Ниже приведён пример создания миниатюры с пользовательским коэффициентом масштабирования.

ShapeThumbnailBounds bounds = ShapeThumbnailBounds.Shape;
float scale = 1; // Масштабирование по осям X и Y.

using (Presentation presentation = new Presentation("HelloWorld.pptx"))
{
    IShape shape = presentation.Slides[0].Shapes[0];
    using (IImage image = shape.GetImage(bounds, scale, scale))
    {
        image.Save("Scaling Factor Thumbnail_out.png", ImageFormat.Png);
    }
}

Создать миниатюру внешнего вида фигуры на основе границ

Этот метод создания миниатюр фигур позволяет разработчикам генерировать миниатюру в пределах внешнего вида фигуры. Он учитывает все эффекты фигуры. Сгенерированная миниатюра фигуры ограничена границами слайда. Чтобы создать миниатюру любой фигуры слайда в границах её внешнего вида, используйте следующий пример кода:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на любой слайд, используя его ID или индекс.
  3. Получите изображение миниатюры ссылки на слайд с границами фигуры как внешним видом.
  4. Сохраните изображение миниатюры в любой нужный формат изображения.

Ниже приведён пример создания миниатюры.

ShapeThumbnailBounds bounds = ShapeThumbnailBounds.Appearance;
float scale = 1; // Масштабирование вдоль осей X и Y.

using (Presentation presentation = new Presentation("HelloWorld.pptx"))
{
    IShape shape = presentation.Slides[0].Shapes[0];
    using (IImage image = shape.GetImage(bounds, scale, scale))
    {
        image.Save("Shape_thumbnail_Bound_Shape_out.png", ImageFormat.Png);
    }
}

FAQ

Какие форматы изображений можно использовать при сохранении миниатюр фигур?

PNG, JPEG, BMP, GIF, TIFF, и другие. Фигуры также могут быть экспортированы как векторный SVG путем сохранения содержимого фигуры в формате SVG.

В чём разница между границами Shape и Appearance при рендеринге миниатюры?

Shape использует геометрию фигуры; Appearance учитывает визуальные эффекты (тени, свечения и т.д.).

Что происходит, если фигура помечена как скрытая? Будет ли она всё равно отрисована как миниатюра?

Скрытая фигура остаётся частью модели и может быть отрисована; флаг скрытия влияет на отображение в слайд-шоу, но не препятствует генерации изображения фигуры.

Поддерживаются ли групповые фигуры, диаграммы, SmartArt и другие сложные объекты?

Да. Любой объект, представленный как Shape (включая GroupShape, Chart и SmartArt), можно сохранить как миниатюру или как SVG.

Влияют ли системные шрифты на качество миниатюр текстовых фигур?

Да. Необходимо предоставить требуемые шрифты (или настроить замену шрифтов), чтобы избежать нежелательных подстановок и перераспределения текста.