JPG를 PNG로 변환

Joint Photographic Experts Group(JPG/JPEG)과 Portable Network Graphics(PNG)는 인터넷에서 사용되는 두 가지 인기 있는 래스터 이미지 형식입니다. DCT 압축에 의존하는 JPEG과 달리 PNG는 GIF 및 TIFF 형식에서 사용하는 것과 동일한 LZW 압축을 사용합니다. PNG가 JPEG에 비해 가장 큰 장점은 압축이 손실이 없다는 것입니다. 즉, 열고 다시 저장할 때마다 품질이 저하되지 않습니다. PNG는 또한 자세하고 대비가 높은 이미지를 잘 처리합니다. 이 문서에서는 .NET REST API를 사용하여 JPG 이미지를 PNG 형식으로 변환하는 방법에 대한 단계를 설명합니다.

이미지 처리 API

Aspose.Imaging Cloud는 이미지 형식 처리를 위한 당사의 주요 제품 중 하나입니다. 이를 통해 기존 이미지 형식을 지원되는 파일 형식으로 자르고, 뒤집고, 크기를 조정하고, 회전하고, 검색하고, 변환하고, 내보낼 수 있습니다. REST 아키텍처를 통해 개발자는 클라우드 기반 솔루션에서 다양한 이미징 기능을 구현할 수 있습니다. 고객의 편의를 위해 Aspose.Imaging REST API 위에 Aspose.Imaging Cloud SDK for .NET을 개발하여 C# .NET 애플리케이션 내에서 모든 고급 이미지 조작을 수행할 수 있습니다.

설치

SDK를 사용하려면 먼저 시스템에 설치해야 합니다. NuGetGitHub에서 다운로드할 수 있습니다. NuGet을 통해 SDK를 설치하려면 터미널에서 다음 명령을 실행하세요.

nuget install Aspose.Imaging-Cloud

또는 NuGet 패키지 관리자에서 다음 명령을 실행합니다.

PM> Install-Package Aspose.Imaging-Cloud

Visual Studio 접근 방식

또 다른 방법은 Visual Studio 내에서 직접 설치하는 것입니다.

  1. 솔루션 탐색기를 엽니다.
  2. 프로젝트를 확장하고 솔루션 내의 패키지 폴더를 마우스 오른쪽 버튼으로 클릭합니다.
  3. NuGet 패키지 관리… 옵션을 선택하세요
  4. 찾아보기 탭을 클릭하고 “Aspose.Imaging-Cloud“를 검색합니다.
  5. Aspose.Imaging-Cloud 패키지 옆에 있는 체크박스를 클릭하고 오른쪽 탭에서 적절한 버전을 선택한 후 패키지 추가 버튼을 클릭합니다.
Aspose.Imaging 클라우드

이미지 1: NuGet 패키지로서의 Aspose.Imaging-Cloud.

Aspose.Cloud 구독

모든 API는 권한이 있는 사람만 액세스할 수 있으므로 데이터 무결성과 개인 정보 보호가 유지됩니다. 또한 클라우드 스토리지에 저장된 파일은 Aspose.Cloud 대시보드를 통해 구독한 계정과 연결됩니다. 따라서 첫 번째 단계는 Aspose.Cloud 대시보드를 방문하여 무료 구독 계정을 만드는 것입니다. GitHub 또는 Google 계정이 있는 경우 간단히 가입하세요. 그렇지 않은 경우 새 계정 만들기 버튼을 클릭하고 필요한 정보를 제공하세요. 이제 자격 증명을 사용하여 대시보드에 로그인하고 대시보드에서 애플리케이션 섹션을 확장한 다음 클라이언트 자격 증명 섹션으로 스크롤하여 클라이언트 ID 및 클라이언트 비밀 세부 정보를 확인합니다.

클라이언트 자격 증명

이미지 2: Aspose.Cloud 대시보드의 클라이언트 자격 증명.

C#에서 JPG를 PNG로

C# .NET 애플리케이션 내에서 JPG 형식을 PNG으로 변환하려면 아래 단계를 따르십시오.

  • 클라이언트 ID 및 클라이언트 비밀번호 세부 정보를 인수로 전달하면서 ImagingApi 객체를 생성합니다.
  • 둘째, 로컬 드라이브에서 JPEG 이미지를 읽고 UploadFileRequest 객체에 인수로 전달합니다.
  • 셋째, ImagingApi의 UploadFile(…) 메서드를 호출하여 파일을 클라우드 스토리지에 업로드합니다.
  • 이제 이미지 이름과 결과 출력 형식을 인수로 사용하는 ConvertImageRequest 클래스의 인스턴스를 만듭니다.
  • 그런 다음 ImagingApi 클래스의 ConvertImage(…) 메서드를 호출하여 변환 작업을 시작합니다.
  • 마지막으로, File.Create를 사용하여 스트림의 출력을 로컬 드라이브에 저장합니다(사용자 정의 메서드는 아래에 공유되어 있습니다).
// https://dashboard.aspose.cloud/에서 ClientID를 가져옵니다.
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// ImagingApi 인스턴스를 생성합니다
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");

// 입력 JPEG 이미지 경로
string imageFile = "jpg-to-png.jpeg";
 
// 출력 파일 형식
string format = "png";
 
// 결과 파일 이름
string resultantFile = "converted.png";

// 로컬 드라이브에서 파일을 로드합니다
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
    var uploadFileRequest = new UploadFileRequest(imageFile, file);

    // 원본 문서를 클라우드 스토리지에 업로드
    imagingApi.UploadFile(uploadFileRequest);
}

try
{
    // ImageRequest 생성
    var request = new ConvertImageRequest(imageFile, format, null, null);
    
    // 변환 작업을 시작합니다
    Stream updatedImage = imagingApi.ConvertImage(request);

    // 변환이 성공하면 성공 메시지를 출력합니다.
    if (request != null && request.Equals("OK"))
    {
        Console.WriteLine("JPG successfully converted to PNG !");
        Console.ReadKey();
    }
    
    // 시스템 드라이브에 출력을 저장하는 방법을 호출합니다.
    saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

// Steam 객체를 파일 인스턴스로 저장하는 사용자 정의 방법
public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

JPEG에서 PNG로 변환하기 위한 cURL 명령

Cloud API의 REST 아키텍처를 사용하면 명령줄 터미널을 통해서도 액세스할 수 있습니다. 하지만 보안 제한으로 인해 먼저 Aspose.Cloud 대시보드에서 검색한 ClientID 및 ClientSecret 세부 정보를 기반으로 JSON 웹 토큰(JWT)을 생성해야 합니다. 터미널에서 다음 명령을 실행하여 JWT 토큰을 생성하세요.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT 토큰을 얻으면 다음 단계는 ConvertImage API를 호출하여 JPG를 PNG로 변환 작업을 수행하는 것입니다.

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

요청 URL

https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png

결론

JPEG 이미지를 PNG 형식으로 변환하기 위해 Aspose.Imaging Cloud API를 살펴보았습니다. C# .NET 코드를 사용하여 파일을 변환하는 프로세스와 cURL 명령을 사용하여 변환하는 방법을 알아보았습니다. 또한 Cloud SDK는 MIT 라이선스에 따라 배포되며 전체 소스 코드는 GitHub에서 다운로드할 수 있습니다. API를 사용하는 동안 문제가 발생하거나 궁금한 사항이 있으면 무료 제품 지원 포럼을 통해 언제든지 문의하세요.

관련기사

또한 자세한 내용을 알아보려면 다음 링크를 방문하는 것이 좋습니다.