SVG (Scalable Vector Graphics) is een op XML gebaseerd vectorafbeeldingsformaat voor het definiëren van tweedimensionale afbeeldingen met ondersteuning voor animatie. Deze afbeeldingen worden voornamelijk op internet gebruikt vanwege de hoge pixeldichtheid. Aan de andere kant vergroten de rijke functies ook de grootte van SVG-afbeeldingen in vergelijking met de PNG-afbeelding met dezelfde dimensie. Dergelijke verschillen laten ontwikkelaars nadenken over het converteren van afbeeldingen van het ene formaat naar het andere. Dit artikel bespreekt hoe u SVG-vectoren converteert naar PNG-afbeeldingen in Java.

Converteer SVG naar PNG in Java (grijstinten, roteren, spiegelen, helder, watermerk)

Java API om afbeeldingen te converteren

GroupDocs.Conversion toont document en beeldconversie-API voor Java-ontwikkelaars. Het ondersteunt een grote lijst met afbeeldingsindelingen voor conversie van het ene formaat naar het andere. Bovendien kunnen de conversieresultaten ook worden aangepast met behulp van beschikbare geavanceerde opties. Ik zal deze API, GroupDocs.Conversion for Java gebruiken om de SVG-vectorafbeeldingen om te zetten in PNG-afbeeldingsindeling.

Downloaden of configureren

U kunt het JAR-bestand downloaden van de downloads-sectie, of gewoon de repository- en afhankelijkheidsconfiguraties voor de pom.xml van uw maven-gebaseerde Java-applicaties ophalen.

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

Converteer SVG naar PNG-afbeelding in Java

Laten we, zonder tijd te verspillen, beginnen met de basisconversie met de standaardconfiguratie. De volgende stappen laten zien hoe u het SVG-vectorafbeeldingsbestand converteert naar een PNG-afbeelding in Java.

  • Laad de PNG-afbeelding met behulp van de klasse Converter.
  • Bereid de opties voor beeldconversie voor.
  • Stel het conversiebestandstype in als PNG.
  • Roep de methode convert() aan om het geladen SVG-bestand te converteren naar een PNG-afbeelding.

De volgende Java-broncode converteert de SVG naar een PNG-afbeelding.

// Hoe een SVG-bestand naar PNG-indeling in Java te converteren met behulp van standaardopties
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 naar PNG-afbeelding met behulp van geavanceerde opties in Java

Veel aanpassingsopties kunnen worden toegepast op PNG-uitvoer tijdens het converteren van SVG om het gewenste resultaat te krijgen. Hier volgen enkele van de eigenschappen die kunnen worden aangepast tijdens de conversie van SVG naar PNG:

Aanpassingsoptie Methode
Helderheid setBrightness(int waarde)
Contrast setContrast(int waarde)
Flip-modus (horizontaal/verticaal) setFlipMode(ImageFlipModes-waarde)
Gamma setGamma(zwevende waarde)
Grijswaarden setGrijswaarden(booleaanse waarde)
Height setHeight(int waarde)
Rotatiehoeken setRotateAngle(int waarde)
Watermark setWatermark(WatermarkTextOptions-waarde)
Width setWidth(int waarde)

De volgende stappen laten zien hoe u variaties kunt toepassen bij het converteren van een SVG-afbeelding naar een PNG-afbeelding in Java.

  • Laad de SVG-afbeelding met behulp van de klasse Converter.
  • Bereid de opties voor beeldconversie voor.
  • Stel het conversiebestandstype in als PNG.
  • Stel andere relevante eigenschappen in met behulp van de respectieve instelmethoden en pas hun waarden dienovereenkomstig aan.
  • Converteer naar PNG-afbeelding met behulp van de methode convert() met voorbereide opties.

U kunt elk van deze effecten of een combinatie toepassen om de vereiste PNG-uitvoer te krijgen. De volgende broncode past aanpassing toe op de PNG-afbeelding tijdens conversie van SVG naar PNG in Java.

// Converteer een SVG-bestand naar PNG-indeling in Java met behulp van verschillende aanpassingen
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

// Voeg een watermerk toe aan PNG bij conversie van SVG-indeling
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);

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen.

Conclusie

Kortom, we hebben geleerd om SVG-bestanden te converteren naar PNG-indeling binnen de Java-toepassingen. We hebben verder geleerd hoe we PNG-bestanden kunnen roteren, spiegelen of watermerken wanneer ze worden geconverteerd vanuit het SVG-formaat. Verder hebben we besproken hoe u de opties voor helderheid, gamma en grijstinten kunt aanpassen.

U kunt proberen uw eigen Java-toepassing voor beeldconversie te bouwen. Meer informatie over de API’s vindt u in de documentatie voor de automatisering van document- en beeldconversies.

De eenvoudigste manier is om de voorbeelden van GitHub te ervaren. Neem voor vragen contact met ons op via het forum.

Zie ook