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를 사용하려면 먼저 시스템에 설치해야 합니다. NuGet 및 GitHub에서 다운로드할 수 있습니다. NuGet을 통해 SDK를 설치하려면 터미널에서 다음 명령을 실행하세요.
nuget install Aspose.Imaging-Cloud
또는 NuGet 패키지 관리자에서 다음 명령을 실행합니다.
PM> Install-Package Aspose.Imaging-Cloud
Visual Studio 접근 방식
또 다른 방법은 Visual Studio 내에서 직접 설치하는 것입니다.
- 솔루션 탐색기를 엽니다.
- 프로젝트를 확장하고 솔루션 내의 패키지 폴더를 마우스 오른쪽 버튼으로 클릭합니다.
- NuGet 패키지 관리… 옵션을 선택하세요
- 찾아보기 탭을 클릭하고 “Aspose.Imaging-Cloud“를 검색합니다.
- Aspose.Imaging-Cloud 패키지 옆에 있는 체크박스를 클릭하고 오른쪽 탭에서 적절한 버전을 선택한 후 패키지 추가 버튼을 클릭합니다.
Aspose.Cloud 구독
모든 API는 권한이 있는 사람만 액세스할 수 있으므로 데이터 무결성과 개인 정보 보호가 유지됩니다. 또한 클라우드 스토리지에 저장된 파일은 Aspose.Cloud 대시보드를 통해 구독한 계정과 연결됩니다. 따라서 첫 번째 단계는 Aspose.Cloud 대시보드를 방문하여 무료 구독 계정을 만드는 것입니다. GitHub 또는 Google 계정이 있는 경우 간단히 가입하세요. 그렇지 않은 경우 새 계정 만들기 버튼을 클릭하고 필요한 정보를 제공하세요. 이제 자격 증명을 사용하여 대시보드에 로그인하고 대시보드에서 애플리케이션 섹션을 확장한 다음 클라이언트 자격 증명 섹션으로 스크롤하여 클라이언트 ID 및 클라이언트 비밀 세부 정보를 확인합니다.
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를 사용하는 동안 문제가 발생하거나 궁금한 사항이 있으면 무료 제품 지원 포럼을 통해 언제든지 문의하세요.
관련기사
또한 자세한 내용을 알아보려면 다음 링크를 방문하는 것이 좋습니다.