Поворот изображений программно — частая необходимость при создании генераторов превью, фоторедакторов или документооборотов. Conholdate.Total for Java предоставляет мощный SDK, который упрощает работу с изображениями в Java‑приложениях. В этом руководстве вы узнаете, как поворачивать файлы PNG и JPG, настраивать параметры вращения и сохранять метаданные, при этом поддерживая высокое качество изображения.

Подготовка среды — Предпосылки и настройка

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Установлен Java 17 или новее.
  • IDE, такая как IntelliJ IDEA или Eclipse.
  • Maven для управления зависимостями.

Добавьте Conholdate Maven repository и зависимость SDK в ваш pom.xml:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

Скачайте последние бинарные файлы SDK с официальной страницы загрузки: Conholdate.Total for Java Скачать. После того как зависимости будут разрешены, вы готовы писать код, который вращает изображения.

Поворот изображения в Java: пошаговое руководство

Шаг 1: Загрузка исходного и целевого путей

Определите расположения входного и выходного файлов. SDK работает с форматами PNG и JPG.

String inputPath = "input.jpg";
String outputPath = "output_rotated.jpg";

Шаг 2: Инициализация обработчика конвертации и параметров

Создайте основные объекты, управляющие процессом конвертации.

ConversionHandler handler = new ConversionHandler();
ImageConvertOptions options = new ImageConvertOptions();

Шаг 3: Установить угол поворота и цвет фона

Укажите, на сколько градусов вращать изображение и цвет заливки для пустых углов.

options.setRotateAngle(90);               // Rotate 90 degrees clockwise
options.setBackgroundColor(Color.WHITE);  // Fill empty space with white

Шаг 4: Настройка дополнительных параметров

Сохраните оригинальные метаданные и задайте качество JPEG при выводе в формате JPG.

options.setPreserveMetadata(true);
options.setQuality(90); // JPEG quality (0‑100)

Шаг 5: Выполнить вращение

Вызовите метод convert, чтобы применить вращение и записать результат.

handler.convert(inputPath, outputPath, options);
System.out.println("Image rotated successfully: " + outputPath);

Для получения более подробной информации о классе ConversionHandler см. официальную справочную документацию API.

Полный пример кода: Поворот изображения в Java с использованием Conholdate.Total

Следующий пример демонстрирует полный процесс вращения файла изображения.

В этом примере демонстрируется, как повернуть изображение JPG на 90 градусов и сохранить результат.

import com.groupdocs.conversion.ConversionHandler;
import com.groupdocs.conversion.options.convert.ImageConvertOptions;
import java.awt.Color;

public class RotateImageExample {
    public static void main(String[] args) {
        String inputPath = "input.jpg";
        String outputPath = "output_rotated.jpg";

try (ConversionHandler handler = new ConversionHandler()) {
            ImageConvertOptions options = new ImageConvertOptions();
            // Rotation angle in degrees (positive = clockwise)
            options.setRotateAngle(90);
            // Background color for empty areas after rotation
            options.setBackgroundColor(Color.WHITE);
            // Preserve original metadata (EXIF, DPI, etc.)
            options.setPreserveMetadata(true);
            // Optional: for large images you can limit memory usage
            options.setQuality(90); // JPEG quality (0-100)

handler.convert(inputPath, outputPath, options);
            System.out.println("Image rotated successfully: " + outputPath);
        } catch (Exception e) {
            System.err.println("Error during image rotation:");
            e.printStackTrace();
        }
    }
}

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

Параметры вращения: варианты и настройки

SDK предлагает несколько вариантов настройки процесса вращения.

  • Rotate Angle - Определяет, на сколько градусов поворачивается изображение. Положительные значения вращают по часовой стрелке.
options.setRotateAngle(90);
  • Background Color - Устанавливает цвет заливки для пустых углов, которые появляются после вращения. Используйте любое значение java.awt.Color.

  • Сохранить метаданные - Когда включено, данные EXIF и DPI, а также другие метаданные сохраняются в выходном файле. См. ImageConvertOptions API для получения более подробной информации.

  • Quality - Управляет качеством сжатия JPEG (0‑100). Более высокие значения сохраняют больше деталей, но увеличивают размер файла.

Настройте эти параметры в соответствии с требованиями вашего приложения, будь то без потерь PNG‑вывод или высококачественные JPG‑результаты.

Заключение

Поворот изображений в Java прост, когда вы используете Conholdate.Total for Java. Это руководство проведет вас через необходимую настройку, подробную пошаговую реализацию и ключевые параметры конфигурации, позволяющие управлять углом, фоном, сохранением метаданных и качеством вывода. Не забудьте приобрести соответствующую лицензию для производственных развертываний; вы можете изучить варианты ценообразования по адресу https://purchase.conholdate.com/pricing/total/family/ или получить временную лицензию для тестирования по адресу https://purchase.conholdate.com/temporary-license/. После интеграции SDK вы сможете добавить надёжный поворот изображений в любой Java‑ориентированный рабочий процесс.

Часто задаваемые вопросы

  • Как вращать файл изображения в Java с использованием Conholdate.Total?
    Используйте класс ImageConvertOptions, чтобы задать нужный угол вращения, а затем вызовите handler.convert(inputPath, outputPath, options), как показано в примерах выше.

  • Могу ли я вращать как PNG, так и JPG изображения с помощью одного и того же кода?
    Да, SDK автоматически определяет исходный формат. Укажите правильное расширение файла в пути ввода, и тот же код будет работать как с PNG, так и с JPG.

  • Какие параметры доступны для настройки процесса вращения?
    Вы можете настроить угол вращения, цвет фона, качество вывода и выбрать, сохранять ли метаданные. Смотрите ImageConvertOptions API для полного списка.

  • Нужна ли лицензия для использования этой функции в продакшн?
    Для использования в продакшн требуется действующая лицензия. Получите временную лицензию для оценки по адресу https://purchase.conholdate.com/temporary-license/ или просмотрите полные сведения о ценах по адресу https://purchase.conholdate.com/pricing/total/family/.

Читать далее