SVG(Scalable Vector Graphics)는 애니메이션을 지원하는 2차원 그래픽을 정의하기 위한 XML 기반 벡터 이미지 형식입니다. 이러한 이미지는 높은 픽셀 밀도 때문에 웹에서 주로 사용됩니다. 한편, 같은 크기의 PNG 이미지에 비해 SVG 이미지의 크기도 확장되는 풍부한 기능을 제공합니다. 이러한 차이점으로 인해 개발자는 이미지를 한 형식에서 다른 형식으로 변환할 수 있습니다. 이 문서에서는 Java에서 SVG 벡터를 PNG 이미지로 변환하는 방법에 대해 설명합니다.
이미지를 변환하는 Java API
GroupDocs.Conversion은 문서 및 Java 개발자를 위한 이미지 변환 API를 보여줍니다. 한 형식에서 다른 형식으로 변환할 수 있는 많은 이미지 형식 목록을 지원합니다. 또한 사용 가능한 고급 옵션을 사용하여 변환 결과를 사용자 지정할 수도 있습니다. 이 API인 GroupDocs.Conversion for Java를 사용하여 SVG 벡터 그래픽을 PNG 이미지 형식으로 변환합니다.
다운로드 또는 구성
다운로드 섹션에서 JAR 파일을 다운로드하거나 maven 기반 Java 애플리케이션의 pom.xml에 대한 저장소 및 종속성 구성을 가져올 수 있습니다.
<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>
Java에서 SVG를 PNG 이미지로 변환
시간 낭비 없이 기본 구성으로 기본 변환부터 시작해 보겠습니다. 다음 단계는 Java에서 SVG 벡터 그래픽 파일을 PNG 이미지로 변환하는 방법을 보여줍니다.
- Converter 클래스를 사용하여 PNG 그래픽을 로드합니다.
- 이미지 변환 옵션을 준비합니다.
- 변환 파일 형식을 PNG로 설정합니다.
- 변환() 메서드를 호출하여 로드된 SVG 파일을 PNG 이미지로 변환합니다.
다음 Java 소스 코드는 SVG를 PNG 이미지로 변환합니다.
// 기본 옵션을 사용하여 Java에서 SVG 파일을 PNG 형식으로 변환하는 방법
Converter converter = new Converter("path/vector-graphics.svg");
ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png);
converter.convert("path/svg-to-png.png", options);
Java에서 고급 옵션을 사용하여 SVG에서 PNG 이미지로
SVG에서 원하는 결과를 얻기 위해 변환하는 동안 많은 사용자 정의 옵션을 PNG 출력에 적용할 수 있습니다. 다음은 SVG에서 PNG로 변환하는 동안 조정할 수 있는 몇 가지 속성입니다.
사용자 정의 옵션 | 방법 |
---|---|
밝기 | setBrightness(int value) |
대비 | setContrast(int value) |
플립 모드(가로/세로) | setFlipMode(ImageFlipModes value) |
감마 | setGamma(float value) |
그레이스케일 | setGrayscale(boolean value) |
높이 | setHeight(int value) |
회전 각도 | setRotateAngle(int value) |
Watermark | setWatermark(WatermarkTextOptions value) |
너비 | setWidth(int value) |
다음 단계는 Java에서 SVG 그래픽을 PNG 이미지로 변환하는 동안 변형을 적용하는 방법을 보여줍니다.
- Converter 클래스를 사용하여 SVG 그래픽을 로드합니다.
- 이미지 변환 옵션을 준비합니다.
- 변환 파일 형식을 PNG로 설정합니다.
- 각각의 setter 메서드를 사용하여 다른 관련 속성을 설정하고 그에 따라 값을 조정합니다.
- 준비된 옵션과 함께 convert() 메서드를 사용하여 PNG 이미지로 변환합니다.
이러한 효과를 적용하거나 조합하여 필요한 PNG 출력을 얻을 수 있습니다. 다음 소스 코드는 Java에서 SVG를 PNG로 변환하는 동안 PNG 이미지에 사용자 정의를 적용합니다.
// 다양한 사용자 정의를 사용하여 Java에서 SVG 파일을 PNG 형식으로 변환
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
// SVG 형식에서 변환할 때 PNG에 워터마크 추가
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);
무료 API 라이선스 받기
임시 무료 라이선스 받기 평가 제한 없이 API를 사용할 수 있습니다.
결론
요약하자면 자바 애플리케이션 내에서 SVG 파일을 PNG 형식으로 변환하는 방법을 배웠습니다. SVG 형식에서 변환할 때 PNG 파일을 회전, 뒤집기 또는 워터마크하는 방법을 추가로 배웠습니다. 또한 밝기, 감마 및 회색조 옵션을 조정하는 방법에 대해 논의했습니다.
자신의 이미지 변환 Java 애플리케이션을 빌드해 볼 수 있습니다. 문서 및 이미지 변환 자동화를 위한 문서에서 API에 대해 자세히 알아볼 수 있습니다.
가장 쉬운 방법은 GitHub의 예제를 경험하는 것입니다. 문의 사항은 포럼을 통해 문의하십시오.