Создание миниатюр фигур презентаций на Android

Обзор

В этой статье мы покажем, как создавать миниатюры слайдов в различных ситуациях:

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

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

Чтобы создать миниатюру фигуры из любого слайда с помощью Aspose.Slides for Android via Java, выполните следующее:

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

Этот пример кода показывает, как создать миниатюру фигуры из слайда:

// Создайте экземпляр класса Presentation, представляющего файл презентации
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // Создайте изображение в полном масштабе
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage();
    
    // Сохраните изображение на диск в формате PNG
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

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

Чтобы создать миниатюру фигуры слайда с пользовательскими размерами, выполните следующее:

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

Этот пример кода показывает, как создать миниатюру фигуры на основе заданного коэффициента масштабирования:

// Создайте экземпляр класса Presentation, представляющего файл презентации
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // Создайте изображение в полном масштабе
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage(ShapeThumbnailBounds.Shape, 1, 1);

    // Сохраните изображение на диск в формате PNG
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

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

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

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

Этот пример кода основан на перечисленных шагах:

// Создайте экземпляр класса Presentation, представляющего файл презентации
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // Создайте изображение в полном масштабе
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage(ShapeThumbnailBounds.Appearance, 1, 1);

    // Сохраните изображение на диск в формате PNG
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

Вопросы и ответы

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

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

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

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

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

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

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

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

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

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