매일 우리는 디지털 카메라, 스캐너 등을 통해 엄청난 양의 이미지 모음을 생성하며 그 중 대부분은 JPG, PNG, GIF, TIFF 형식입니다. 등. 이제 사진에서 불필요한 개체/요소를 캡처할 수 있습니다. 따라서 이미지에서 원치 않는 피사체나 관련 없는 세부 정보를 제거하기 위해 사진을 잘라야 하는 경우가 종종 있습니다. 이미지의 종횡비를 변경하거나 이미지의 전체 구성을 개선해야 하는 요구 사항이 있을 수 있습니다. 그래서 이번 글에서는 자바 클라우드 SDK를 이용하여 이미지를 크롭하는 방법에 대해 자세히 알아보도록 하겠습니다.
이미지 자르기 API
Java 애플리케이션에서 사진을 자르기 위해 Aspose.Imaging Cloud SDK for Java를 사용할 것입니다. API를 사용하면 자르기 사각형의 크기와 위치를 지정할 수 있습니다. 이미지 자르기 작업이 완료되면 출력 이미지를 동일한 형식으로 저장하거나 잘라낸 이미지를 다른 형식으로 저장할 수 있습니다. 지원되는 형식 목록을 얻으려면 다음 링크를 방문하십시오. 이제 시작하기 위한 첫 번째 단계는 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>
프로젝트가 설정되면 클라우드 대시보드에서 클라이언트 자격 증명을 가져와야 합니다. 이제 Aspose Cloud Dashboard에 계정이 없다면 유효한 이메일 주소를 통해 무료 계정을 만드십시오. 이제 새로 만든 계정으로 로그인하고 Aspose Cloud Dashboard에서 Client ID와 Client Secret을 조회/생성합니다.
Java를 사용하여 이미지 자르기
온라인에서 기존 이미지를 로드하고 이미지를 자르는 방법에 대해 자세히 살펴보겠습니다. 먼저 PNG/croppng를 자르고 업데이트된 이미지를 동일한 형식으로 저장합니다. PNG는 로컬 드라이브에서 로드되고 온라인에서 사진을 자르고 결과 출력은 클라우드 저장소에 저장됩니다. 출력 파일 이름을 지정하지 않은 경우 응답에는 스트리밍된 이미지가 포함됩니다.
- 먼저 개인화된 클라이언트 자격 증명을 기반으로 ImagingApi 인스턴스를 생성해야 합니다.
- 둘째, File 객체를 사용하여 로컬 폴더에서 PNG 파일을 읽습니다.
- byte[] 인스턴스를 만들고 readAllBytes(…) 메서드를 사용하여 파일에서 모든 바이트를 읽습니다.
- 이제 자르기 작업을 시작할 지점에 대한 치수와 X,Y 좌표를 지정합니다.
- 그런 다음 위의 모든 매개 변수와 결과 이미지의 이름이 필요한 CreateCroppedImageRequest의 인스턴스를 만듭니다.
- 마지막으로 createCroppedImage(…) 메서드를 사용하여 이미지 자르기
// https://dashboard.aspose.cloud/에서 ClientID 및 ClientSecret 가져오기
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// 이미징 객체 생성
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 로컬 드라이브에서 파일 로드
File f = new File("PinClipart.png");
// PNG 이미지의 내용을 바이트 배열로 읽습니다.
byte[] bytes = Files.readAllBytes(f.toPath());
// 잘라낸 이미지의 너비와 높이 지정
int newWidth = 350;
int newHeight = 350;
// 이미지 자르기를 시작할 지점 지정
int x = 100;
int y = 100;
// 결과 이미지 이름을 지정하면서 자르기 이미지 요청 생성
CreateCroppedImageRequest cropRequest = new CreateCroppedImageRequest(bytes, x,y, newWidth, newHeight, null, "Cropped.png", null);
// PNG를 자르고 출력을 클라우드 저장소에 저장하는 메서드 호출
imageApi.createCroppedImage(cropRequest);
cURL 명령을 사용하여 사진 자르기
우리의 API는 REST 아키텍처에서 개발되었으므로 두 가지 유연성을 제공합니다. 즉, 모든 플랫폼에서 API를 호출할 때에도 통합된 경험을 얻을 수 있고 cURL 명령을 사용하여 API에 액세스할 수 있습니다. 이제 명령줄 터미널에서 cURL 명령을 사용하여 API에 액세스하려면 먼저 다음 명령을 사용하여 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 토큰이 생성되면 CropImage API를 호출하여 클라우드 스토리지에서 로드된 사진을 PNG 형식으로 자르십시오. 이제 자른 이미지를 JPG 형식으로 저장하기 위해 형식 매개변수에 대해 JPG 값을 지정합니다. 결과 자르기 그림은 응답 스트림으로 반환됩니다.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/crop?x=50&y=50&width=200&height=200&format=JPG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
-o "cropped.jpg"
결론
이 기사의 끝에서 Java 코드 스니펫을 사용하여 사진을 자르는 방법에 대한 단계를 배웠습니다. 동시에 cURL 명령을 사용하여 온라인에서 이미지를 자르는 옵션도 탐색했습니다. 사진 자르기 작업 외에 제품 설명서를 탐색하여 API에서 제공하는 다른 흥미로운 기능에 대해 알아볼 수 있습니다. 코드 스니펫으로 작업하기 전에 swagger API 참조를 통해 브라우저 내에서 API 기능을 탐색할 수 있습니다.
그럼에도 불구하고 우리는 사용자가 GitHub에서 이미지 처리 API의 전체 소스 코드를 다운로드할 수 있도록 하여 사용자에게 완전한 유연성을 제공합니다(MIT 라이선스로 게시됨). API를 사용하는 동안 문제가 발생하는 경우 무료 제품 지원 포럼을 통해 빠른 해결을 위해 저희에게 연락하는 것을 고려할 수 있습니다.
관련 기사
자세한 내용은 다음 링크를 참조하십시오.