SVG 이미지는 확장 가능하고 크기나 화면 해상도에 관계없이 동일한 품질을 유지하기 때문에 두드러집니다. 모든 해상도에서 디자인할 수 있으며 품질 손상(또는 픽셀화) 없이 크기를 늘리거나 줄일 수 있습니다. 그러나 SVG 이미지는 점과 경로를 기반으로 하므로 픽셀 대신 래스터 이미지만큼 많은 세부 정보를 표시할 수 없습니다. 따라서 SVG를 PNG 이미지로 변환하면 이러한 문제를 해결할 수 있습니다.
SVG에서 PNG로 변환 API
이 기사에서는 Aspose.Imaging Cloud SDK for Java를 사용할 예정입니다. 이는 REST 기반 API로 래스터, 메타파일, 포토샵을 다양한 [지원되는 형식][6으로 프로그래밍 방식으로 편집, 조작 및 변환하는 기능을 제공합니다. ]. 온라인에서 SVG를 PNG로 변환하는 기능도 지원합니다. 이제 SDK 활용을 시작하기 위해 pom.xml(maven 빌드형 프로젝트)에 다음 정보를 포함하여 Java 프로젝트에 해당 참조를 추가해야 합니다.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
이제 API를 사용하려면 개인화된 클라이언트 자격 증명이 필요합니다. 이미 Aspose Cloud Dashboard에 등록되어 있으면 쉽게 얻을 수 있습니다. 그렇지 않으면 유효한 이메일 주소를 통해 무료 계정을 등록하고 클라이언트 자격 증명을 받으십시오.
Java에서 SVG를 PNG로 변환
당사의 이미지 처리 API는 최소한의 코드 라인으로 PNG를 SVG로, SVG를 PNG로 변환할 수 있습니다. 따라서 이 섹션에서는 Java를 사용하여 SVG를 PNG로 변환하는 모든 세부 사항에 대해 논의할 것입니다.
- 먼저 클라이언트 자격 증명을 인수로 전달하는 ImagingApi 클래스의 개체를 만듭니다.
- 둘째, readAllBytes(…) 메서드를 사용하여 SVG 이미지의 내용을 읽고 byte[] 배열로 반환합니다.
- 그런 다음 SVG 이름을 전달하는 동안 UploadFileRequest의 인스턴스를 만들고 uploadFile(…) 메서드를 사용하여 클라우드 저장소에 업로드합니다.
- 이제 입력 SNG 이름과 결과 형식을 “PNG"로 전달하는 ConvertImageRequest 객체를 만듭니다.
- SVG에서 PNG로의 변환을 시작하려면 convertImage(…) 메서드를 호출합니다. 그러면 출력이 응답 스트림으로 반환됩니다.
- 마지막으로 FileOutputStream 개체를 사용하여 결과 PNG를 로컬 드라이브에 저장합니다.
// https://dashboard.aspose.cloud/에서 ClientID 및 ClientSecret 가져오기
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// 이미징 객체 생성
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 로컬 시스템에서 SVG 이미지 로드
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// 파일 업로드 요청 객체 생성
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// 클라우드 스토리지에 SVG 이미지 업로드
imageApi.uploadFile(uploadRequest);
// 이미지의 출력 형식 지정
String format = "PNG";
// 이미지 변환 요청 객체 생성
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// SVG를 PNG로 변환하고 응답 스트림에 이미지 반환
byte[] resultantImage = imageApi.convertImage(convertImage);
// PNG 이미지를 로컬 저장소에 저장
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();
위 예제에서 사용된 입력 SVG 이미지는 FileExtension Icons.svg에서 다운로드할 수 있습니다.
cURL 명령을 사용하여 SVG를 PNG로 저장
Aspose.Imaging Cloud는 REST 아키텍처에 따라 개발되었기 때문에 cURL 명령을 통해 쉽게 접근할 수 있습니다. 따라서 이 섹션에서는 cURL 명령을 사용하여 SVG를 PNG로 저장하겠습니다. 이제 첫 번째 단계는 다음 명령을 사용하여 JWT 액세스 토큰(클라이언트 자격 증명 기반)을 생성하는 것입니다.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
JWT 토큰이 생성되면 다음 명령을 실행하여 SVG를 PNG 이미지로 저장하십시오.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.svg/convert?format=PNG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Resultant.png
결론
이 기사의 끝에서 Java를 사용하여 SVG를 PNG로 변환하는 방법에 대한 세부 정보를 배웠습니다. 동시에 cURL 명령을 사용하여 SVG를 PNG로 변환하는 옵션도 탐색했습니다. 또한 SDK 소스 코드를 확보하고 요구 사항에 따라 수정하려면 GitHub에서 다운로드할 수 있습니다(당사의 Cloud SDK는 MIT 라이선스로 개발됨). API의 놀라운 기능을 테스트하기 위한 다른 옵션은 웹 브라우저 내에서 SwaggerUI를 사용하는 것입니다.
그럼에도 불구하고 제품 설명서는 API의 다른 흥미로운 기능을 설명하는 훌륭한 기사 저장소입니다. 마지막으로, API를 사용하는 동안 문제가 발생하는 경우 무료 제품 지원 포럼을 통해 저희에게 연락하는 것을 고려할 수 있습니다.
관련 기사
자세히 알아보려면 다음 링크를 방문하는 것이 좋습니다.