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.
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.