사진 복제

Java Cloud SDK를 사용하여 중복 이미지 찾기

JPG 이미지는 인쇄 및 편집 목적으로 널리 사용되는 형식입니다. 또한 인터넷과 모바일 및 PC 사용자 간에 사진 및 기타 이미지를 공유하기 위한 인기 있는 이미지 형식입니다. JPG 이미지의 작은 파일 크기로 인해 작은 메모리 공간에 수천 개의 이미지를 저장할 수 있습니다. 이제 압축이 손실되므로 특정 불필요한 정보가 영구적으로 삭제됨을 의미합니다. 반면 JPEG에 비해 PNG의 가장 큰 장점은 압축이 손실되지 않는다는 것입니다. 즉, 파일을 열고 다시 저장할 때마다 품질 손실이 없습니다. PNG는 상세하고 대비가 높은 이미지도 잘 처리합니다. 이제 이 기사에서는 Java Cloud SDK를 사용하여 JPG를 PNG로 변환하는 방법에 대해 자세히 설명합니다.

이미지 변환 API

당사의 REST 기반 API는 이미지 파일을 다양한 지원되는 파일 형식으로 생성, 편집 및 변환하는 기능을 제공합니다. 이제 Java 애플리케이션에서 jpg를 투명 png로 로드하고 변환하는 기능을 구현하려면 Cloud API를 둘러싼 래퍼인 Aspose.Imaging Cloud SDK for Java를 사용해야 합니다. 따라서 다음 단계는 maven 빌드 유형 프로젝트의 pom.xml에 다음 정보를 포함하여 Java 프로젝트에 해당 참조를 추가하는 것입니다.

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

JDK 참조가 프로젝트에 추가되면 다음 중요한 단계는 Aspose Cloud Dashboard를 통해 무료 계정을 만드는 것입니다. 유효한 이메일 주소를 통해 무료 평가판에 가입하기만 하면 됩니다. 이제 새로 만든 계정으로 로그인하고 클라우드 대시보드에서 클라이언트 ID와 클라이언트 시크릿을 조회/생성합니다. 이러한 세부 정보는 다음 섹션에서 인증 목적으로 필요합니다.

Java에서 JPG를 PNG로 변환

이제 Java 코드 스니펫을 사용하여 JPG를 PNG로 변환하는 방법에 대해 자세히 설명하겠습니다. 변환을 수행하기 위해 이미지를 다른 형식으로 변환하는 두 가지 API가 있습니다.

GET API는 먼저 이미지를 Cloud Storage에 업로드한 다음 API URL에 해당 이름을 전달할 것으로 예상합니다. 이미지 매개변수를 업데이트한 후 API는 업데이트된 이미지를 응답으로 반환합니다. 업데이트된 이미지를 Cloud Storage에 저장하려면 아래 예시와 같이 명시적으로 저장해야 합니다.

반면 두 번째 POST API를 호출할 때는 요청 본문에 이미지를 직접 전달할 수 있습니다. 또한 outPath 매개변수 값을 지정하여 업데이트된 이미지를 Cloud Storage에 저장할 수 있습니다. 그러나 값을 지정하지 않으면 응답에 스트리밍 이미지가 포함됩니다.

  • 개인화된 클라이언트 자격 증명을 기반으로 ImagingApi 인스턴스 생성
  • File[] 객체를 사용하여 로컬 폴더에서 모든 JPG 파일 읽기
  • 배열의 파일을 반복하고 개별 이미지의 내용을 byte[] 인스턴스에 도달
  • 이제 출력 이미지 형식을 PNG로 지정하는 CreateConvertedImageRequest 객체를 생성합니다.
  • JPG를 PNG로 저장하고 결과를 응답 스트림으로 반환하는 createConvertedImage(…) 메서드를 호출합니다.
  • 마지막으로 FileOutputStream 개체를 사용하여 PNG 파일을 로컬 드라이브에 저장합니다.
// https://dashboard.aspose.cloud/에서 ClientID 및 ClientSecret 가져오기
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// 이미징 객체 생성
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

File directory = new File("/Users/");
//폴더에서 모든 파일 가져오기
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
    throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}

//여기에서 필요한 이미지 확장자를 설정하십시오.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");

int counter =0;
//JPG 이미지 파일의 필터링된 목록
List<File> acceptedImages = new ArrayList<>();

// 로컬 폴더에서 읽은 각 이미지 파일을 반복합니다.			 
for (File file : allFiles) {
    //파일 확장자 구문 분석
    String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
	
    //확장 프로그램이 supportedImageExtensions에 나열되어 있는지 확인하십시오.
    if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
	//필터링된 목록에 이미지 추가
	acceptedImages.add(file);
                  
    // JPG 이미지 콘텐츠 읽기
    byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
    
    // PNG 형식의 결과 형식으로 이미지 변환 요청 생성
    CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
    
    // JPG를 PNG로 변환하고 결과 파일을 응답 스트림으로 반환
    byte[] exportedImage = imageApi.createConvertedImage(request);
    
    // 내보낸 이미지를 로컬 저장소에 저장
    FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
    fos.write(exportedImage);
    fos.close();
    }
}

cURL 명령을 사용하여 JPG를 PNG로 변경

cURL 명령을 사용하여 REST API에 액세스할 수 있으므로 이 섹션에서는 JPG를 투명 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"

이제 ConvertImage API 호출을 사용할 예정이며 입력 JPG가 클라우드 스토리지에서 이미 사용 가능할 것으로 예상합니다. 이제 다음 명령을 실행하여 JPG를 PNG로 변경하십시오.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/convert?format=PNG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.png

결론

이 기사에서는 Java 코드 스니펫을 사용하여 JPG를 PNG로 변환하는 방법에 대한 놀라운 세부 정보를 제공했습니다. 마찬가지로 cURL 명령을 사용하여 JPG를 투명 PNG로 변환하는 단계에 대해서도 논의했습니다. 제품 설명서는 API에서 제공하는 다른 흥미로운 기능에 대해 배울 수 있는 놀라운 장소입니다. 브라우저 내에서 이러한 API를 시도해야 하는 경우 swagger API 참조를 사용해 보십시오.

끝에서 두 번째로, 모든 Cloud SDK는 MIT 라이선스로 게시되므로 GitHub에서 전체 소스 코드를 다운로드하고 요구 사항에 따라 수정할 수 있습니다. 마지막으로, API를 사용하는 동안 문제가 발생하면 무료 제품 지원 포럼을 통해 빠른 해결을 위해 저희에게 연락하는 것을 고려할 수 있습니다.

관련 기사

자세한 내용은 다음 링크를 참조하십시오.