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.

Převést SVG na PNG v Java (Stupně šedi, Otočit, Převrátit, Jasný, Vodoznak)

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.

Viz také