SVG (Scalable Vector Graphics) je formát vektorových obrázků založený na XML pro definování dvourozměrné grafiky s podporou animací. Tyto obrázky se používají hlavně na webu kvůli vysoké hustotě pixelů. Na druhou stranu bohaté funkce také zvyšují velikost obrázků SVG ve srovnání s obrázkem PNG, který má stejný rozměr. Tyto rozdíly umožňují vývojářům přemýšlet o převodu obrázků z jednoho formátu do druhého. Tento článek pojednává o tom, jak převést vektory SVG na obrázky PNG v Java.
Java API pro převod obrázků
GroupDocs.Conversion představuje rozhraní API pro převod dokumentů a obrázků pro vývojáře v jazyce Java]2. Podporuje velký seznam formátů obrázků pro převod z jednoho formátu do druhého. Výsledky převodu lze navíc upravit pomocí dostupných pokročilých možností. Použiji toto API, GroupDocs.Conversion for Java k převodu vektorové grafiky SVG do obrazového formátu PNG.
Stáhnout nebo Konfigurovat
Soubor JAR si můžete stáhnout z části ke stažení, nebo stačí získat konfigurace úložiště a závislostí pro pom.xml vašich Java aplikací založených 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>
Převeďte obrázek SVG na PNG v Java
Aniž bychom ztráceli čas, začněme základní konverzí s výchozí konfigurací. Následující kroky ukazují, jak převést soubor vektorové grafiky SVG na obrázek PNG v Java.
- Načtěte grafiku PNG pomocí třídy Converter.
- Připravte možnosti převodu obrázků.
- Nastavte typ souboru převodu jako PNG.
- Voláním metody convert() získáte převedený načtený soubor SVG na obrázek PNG.
Následující zdrojový kód Java převádí SVG na obrázek PNG.
// Jak převést soubor SVG do formátu PNG v Java pomocí výchozích možností
Converter converter = new Converter("path/vector-graphics.svg");
ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png);
converter.convert("path/svg-to-png.png", options);
Obrázek SVG na PNG pomocí pokročilých možností v Java
Při převodu z SVG lze na výstup PNG použít mnoho možností přizpůsobení, abyste získali požadovaný výsledek. Níže jsou uvedeny některé vlastnosti, které lze upravit při převodu SVG na PNG:
Možnost přizpůsobení | Metoda |
---|---|
Brightness | setBrightness(int value) |
Contrast | setContrast(int value) |
Režim převrácení (horizontální / vertikální) | setFlipMode(hodnota ImageFlipModes) |
Gamma | setGamma(plovoucí hodnota) |
Stupně šedi | setGrayscale(booleovská hodnota) |
Výška | nastavitVýšku(hodnota int) |
Úhly rotace | setRotateAngle(int value) |
Vodoznak | nastavitWatermark(hodnota WatermarkTextOptions) |
Width | setWidth(int value) |
Následující kroky ukazují, jak aplikovat varianty při převodu grafiky SVG na obrázek PNG v Java.
- Načtěte grafiku SVG pomocí třídy Converter.
- Připravte možnosti převodu obrázků.
- Nastavte typ souboru převodu jako PNG.
- Pomocí příslušných metod nastavení nastavte další relevantní vlastnosti a podle toho upravte jejich hodnoty.
- Převeďte na obrázek PNG pomocí metody convert() s připravenými možnostmi.
Můžete použít kterýkoli z těchto efektů nebo v kombinaci, abyste získali požadovaný výstup PNG. Následující zdrojový kód aplikuje přizpůsobení na obrázek PNG při převodu SVG na PNG v Java.
// Převeďte soubor SVG do formátu PNG v Java pomocí různých úprav
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
// Přidejte vodoznak do PNG při převodu z formátu 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);
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci k používání API bez omezení hodnocení.
Závěr
Abych to shrnul, naučili jsme se převádět soubory SVG do formátu PNG v aplikacích Java. Dále jsme se dozvěděli, jak můžeme otočit, převrátit nebo vodoznak PNG při převodu z formátu SVG. Dále jsme diskutovali o tom, jak upravit možnosti jasu, gama a stupňů šedi.
Můžete zkusit vytvořit svou vlastní Java aplikaci pro konverzi obrázků. Více o rozhraních API se můžete dozvědět v dokumentaci pro automatizaci převodů dokumentů a obrázků.
Nejjednodušší způsob je vyzkoušet si příklady z GitHub. Kontaktujte nás s jakýmkoli dotazem prostřednictvím fóra.