SVG (Scalable Vector Graphics) to oparty na XML format obrazu wektorowego do definiowania grafiki dwuwymiarowej z obsługą animacji. Te obrazy są używane głównie w Internecie ze względu na dużą gęstość pikseli. Z drugiej strony bogate funkcje zwiększają również rozmiar obrazów SVG w porównaniu z obrazem PNG o tym samym wymiarze. Takie różnice pozwalają programistom pomyśleć o konwersji obrazów z jednego formatu na inny. W tym artykule omówiono, jak konwertować wektory SVG na obrazy PNG w Javie.

Konwertuj SVG na PNG w Javie (skala szarości, obracanie, odwracanie, jasny, znak wodny)

Java API do konwersji obrazów

GroupDocs.Conversion prezentuje dokumenty i interfejs API konwersji obrazów dla programistów Java. Obsługuje dużą listę formatów obrazów do konwersji z jednego formatu na inny. Dodatkowo wyniki konwersji można również dostosować za pomocą dostępnych opcji zaawansowanych. Użyję tego API, GroupDocs.Conversion for Java, aby przekonwertować grafikę wektorową SVG na format obrazu PNG.

Pobierz lub skonfiguruj

Możesz pobrać plik JAR z sekcji pobierania lub po prostu pobrać repozytorium i konfiguracje zależności dla pliku pom.xml aplikacji Java opartych na Maven.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-conversion</artifactId>
        <version>22.3</version> 
</dependency>

Konwertuj SVG na obraz PNG w Javie

Nie tracąc czasu, zacznijmy od podstawowej konwersji z domyślną konfiguracją. Poniższe kroki pokazują, jak przekonwertować plik grafiki wektorowej SVG na obraz PNG w Javie.

  • Załaduj grafikę PNG za pomocą klasy Converter.
  • Przygotuj opcje konwersji obrazu.
  • Ustaw typ pliku konwersji jako PNG.
  • Wywołaj metodę convert(), aby przekonwertować załadowany plik SVG na obraz PNG.

Poniższy kod źródłowy Java konwertuje plik SVG na obraz PNG.

// Jak przekonwertować plik SVG do formatu PNG w Javie przy użyciu domyślnych opcji
Converter converter = new Converter("path/vector-graphics.svg");

ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png);

converter.convert("path/svg-to-png.png", options);

SVG do obrazu PNG przy użyciu zaawansowanych opcji w Javie

Wiele opcji dostosowywania można zastosować do wyjścia PNG podczas konwersji z SVG, aby uzyskać pożądany rezultat. Poniżej przedstawiono niektóre właściwości, które można dostosować podczas konwersji SVG na PNG:

Opcja dostosowywania Metoda
Jasność ustawJasność(wartość int)
Kontrast ustawKontrast(wartość int)
Tryb odwracania (poziomy / pionowy) setFlipMode(wartość ImageFlipModes)
Gamma ustawGamma(wartość zmiennoprzecinkowa)
Skala szarości ustawSkala szarości(wartość logiczna)
Wysokość ustawWysokość(wartość int)
Kąty obrotu setRotateAngle(int value)
Znak wodny setWatermark(WatermarkTextOptions wartość)
Szerokość ustawSzerokość(wartość int)

Poniższe kroki pokazują, jak stosować odmiany podczas konwertowania grafiki SVG na obraz PNG w Javie.

  • Załaduj grafikę SVG za pomocą klasy Converter.
  • Przygotuj opcje konwersji obrazu.
  • Ustaw typ pliku konwersji jako PNG.
  • Ustaw inne odpowiednie właściwości za pomocą odpowiednich metod ustawiających i odpowiednio dostosuj ich wartości.
  • Konwertuj do obrazu PNG za pomocą metody convert() z przygotowanymi opcjami.

Możesz zastosować dowolny z tych efektów lub ich kombinację, aby uzyskać wymagany wynik PNG. Poniższy kod źródłowy stosuje dostosowanie do obrazu PNG podczas konwersji SVG na PNG w Javie.

// Konwertuj plik SVG do formatu PNG w Javie, korzystając z różnych dostosowań
Converter converter = new Converter("path/vector-graphics.svg");

ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png); // Set output format as PNG

options.setFlipMode(ImageFlipModes.FlipY); // Flip Vertically or Horizontally
options.setBrightness(50);  // Set Brightness
options.setContrast(50);    // Set Contrast
options.setGamma(0.5F);     // Set Gamma
options.setGrayscale(true);	// Set Grayscale
options.setRotateAngle(45);	// Set Rotation

// Dodaj znak wodny do PNG po konwersji z formatu SVG
WatermarkTextOptions watermark = new WatermarkTextOptions("Watermark");
watermark.setColor(Color.BLUE);
watermark.setBackground(false);
watermark.setRotationAngle(-45);
watermark.setTop(50);
watermark.setLeft(50);
watermark.setTransparency(0.2);
watermark.setWidth(450);
watermark.setHeight(450);
options.setWatermark(watermark);

converter.convert("path/svg-to-png-customized.png", options);

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, nauczyliśmy się konwertować pliki SVG do formatu PNG w aplikacjach Java. Ponadto dowiedzieliśmy się, jak możemy obracać, odwracać lub dodawać znaki wodne do plików PNG po przekonwertowaniu z formatu SVG. Ponadto omówiliśmy, jak dostosować opcje jasności, gamma i skali szarości.

Możesz spróbować zbudować własną aplikację Java do konwersji obrazów. Możesz dowiedzieć się więcej o interfejsach API z dokumentacji do automatyzacji konwersji dokumentów i obrazów.

Najprostszym sposobem jest zapoznanie się z przykładami z GitHub. Skontaktuj się z nami w przypadku jakichkolwiek pytań za pośrednictwem forum.

Zobacz też