Programowe obracanie obrazów jest częstą potrzebą przy tworzeniu generatorów podglądu, edytorów zdjęć lub przepływów pracy z dokumentami. Conholdate.Total for Java zapewnia solidny SDK, który ułatwia manipulację obrazami w aplikacjach Java. W tym przewodniku dowiesz się, jak obracać pliki PNG i JPG, konfigurować parametry obrotu oraz zachować metadane, jednocześnie utrzymując wysoką jakość obrazu.

Przygotowanie środowiska - Wymagania wstępne i konfiguracja

Zanim rozpoczniesz, upewnij się, że masz następujące:

  • Zainstalowany Java 17 lub nowszy.
  • IDE, takie jak IntelliJ IDEA lub Eclipse.
  • Maven do zarządzania zależnościami.

Dodaj repozytorium Maven Conholdate oraz zależność SDK do swojego 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>

Pobierz najnowsze pliki binarne SDK ze strony oficjalnej pobierania: Conholdate.Total for Java Download. Po rozwiązaniu zależności jesteś gotowy napisać kod, który obraca obrazy.

Obrócenie obrazu w Javie: krok po kroku

Krok 1: Załaduj ścieżki źródłowe i docelowe

Zdefiniuj lokalizacje plików wejściowych i wyjściowych. SDK obsługuje zarówno formaty PNG, jak i JPG.

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

Krok 2: Inicjalizacja obsługi konwersji i opcji

Utwórz podstawowe obiekty, które sterują procesem konwersji.

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

Krok 3: Ustaw kąt obrotu i kolor tła

Określ, o ile stopni obrócić obraz oraz kolor wypełnienia pustych narożników.

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

Krok 4: Skonfiguruj dodatkowe parametry

Zachowaj oryginalne metadane i określ jakość JPEG gdy wyjściem jest JPG.

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

Krok 5: Wykonaj rotację

Wywołaj metodę convert, aby zastosować rotację i zapisać wynik.

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

Aby uzyskać więcej informacji na temat klasy ConversionHandler, odwołaj się do oficjalnej dokumentacji API.

Pełny przykład kodu: Obrócenie obrazu w Javie przy użyciu Conholdate.Total

Poniższy przykład demonstruje pełny przepływ pracy dla obracania pliku obrazu.

Ten przykład pokazuje, jak obrócić obraz JPG o 90 stopni i zapisać wynik.

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();
        }
    }
}

Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś wszystkie ścieżki plików i wartości konfiguracyjne, aby odpowiadały rzeczywistemu środowisku, sprawdź, czy wszystkie wymagane zależności są prawidłowo zainstalowane, oraz dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.

Parametry obrotu: Opcje i ustawienia

SDK oferuje kilka opcji, aby precyzyjnie dostroić proces rotacji.

  • Rotate Angle - Określa, o ile stopni obraz jest obrócony. Dodatnie wartości obracają zgodnie z ruchem wskazówek zegara.
options.setRotateAngle(90);
  • Background Color - Ustawia kolor wypełnienia dla pustych narożników, które pojawiają się po obróceniu. Użyj dowolnej wartości java.awt.Color.

  • Zachowaj metadane - Gdy włączone, dane EXIF , DPI i inne metadane są zachowywane w pliku wyjściowym. Zobacz ImageConvertOptions API po więcej szczegółów.

  • Quality - Kontroluje jakość kompresji JPEG (0‑100). Wyższe wartości zachowują więcej szczegółów, ale zwiększają rozmiar pliku.

Dostosuj te ustawienia do wymagań swojej aplikacji, niezależnie od tego, czy potrzebujesz bezstratnego wyjścia PNG, czy wysokiej jakości wyników JPG.

Podsumowanie

Obracanie obrazów w Javie jest proste, gdy używasz Conholdate.Total for Java. Ten przewodnik poprowadził Cię przez niezbędną konfigurację, szczegółową implementację krok po kroku oraz kluczowe opcje konfiguracyjne, które pozwalają kontrolować kąt, tło, zachowanie metadanych i jakość wyjścia. Pamiętaj, aby uzyskać odpowiednią licencję do wdrożeń produkcyjnych; możesz zapoznać się z opcjami cenowymi pod adresem https://purchase.conholdate.com/pricing/total/family/ lub uzyskać tymczasową licencję do testów pod adresem https://purchase.conholdate.com/temporary-license/. Po zintegrowaniu SDK możesz dodać niezawodne obracanie obrazów do dowolnego przepływu pracy opartego na Javie.

Najczęściej zadawane pytania

  • Jak obrócić plik obrazu w Javie przy użyciu Conholdate.Total?
    Użyj klasy ImageConvertOptions, aby ustawić żądany kąt obrotu, a następnie wywołaj handler.convert(inputPath, outputPath, options) tak, jak pokazano w powyższych przykładach.

  • Czy mogę obracać zarówno obrazy PNG, jak i JPG tym samym kodem?
    Tak, SDK automatycznie wykrywa format źródłowy. Podaj prawidłowe rozszerzenie pliku w ścieżce wejściowej, a ten sam kod będzie działał zarówno dla PNG, jak i JPG.

  • Jakie opcje są dostępne do dostosowania procesu rotacji?
    Możesz dostosować kąt obrotu, kolor tła, jakość wyjścia oraz wybrać, czy zachować metadane. Zapoznaj się z ImageConvertOptions API, aby zobaczyć pełną listę.

  • Czy potrzebuję licencji, aby używać tej funkcji w produkcji?
    Ważna licencja jest wymagana do użytku produkcyjnego. Uzyskaj tymczasową licencję do oceny pod adresem https://purchase.conholdate.com/temporary-license/ lub zobacz pełne informacje o cenach pod adresem https://purchase.conholdate.com/pricing/total/family/.

Czytaj więcej