The TIFF(태그 이미지 파일 형식)은 고품질 래스터 그래픽을 저장할 수 있는 능력 덕분에 출판, 그래픽 디자인 및 사진 촬영에서 널리 사용됩니다. JPEG 또는 PNG와는 달리, TIFF 파일은 단일 파일 내에 여러 이미지 또는 프레임을 포함할 수 있습니다. 이러한 다중 프레임 TIFF 이미지는 종종 의료 영상, 스캔된 문서 및 레이어 디자인에 사용됩니다.
이미지 처리 API
Aspose.Imaging Cloud SDK for .NET는 REST 아키텍처를 기반으로 하는 놀라운 API로, 온라인에서 이미지를 조작하고 처리할 수 있는 기능을 제공합니다. C# .NET 코드 조각 내에서 멀티 프레임 TIFF 이미지에서 TIFF 프레임을 추출하는 간단하고 쉬운 방법을 제공합니다. SDK는 NuGet 및 GitHub에서 다운로드할 수 있습니다. 이제 TIFF 및 기타 이미지 포맷을 조작하기 위해 REST API를 설치하세요.
Install-Package Aspose.Imaging-Cloud
귀하의 Client ID와 Client Secret를 Aspose Cloud dashboard에서 가져오세요.
C#를 사용하여 TIFF 프레임 추출하기
이 섹션에서는 C# .NET을 사용하여 TIFF 프레임을 쉽게 추출하는 방법에 대한 세부정보를 설명합니다.
- 먼저, ClientID 및 ClientSecret을 인수로 제공하여 ImagingApi의 객체를 생성합니다.
- 둘째, TIFF 이름, frameID 및 기타 매개변수를 인수로 사용하는 GetImageFrameRequest 개체를 생성합니다.
- 이제
GetImageFrameRequest
객체를 입력 인수로 전달하는 ImagingApi의 GetImageFrame(..) 메서드를 호출하십시오. - 마침내 추출한 이미지를 저장합니다.
// Obtain ClientID and ClientSecter from https://dashboard.aspose.cloud/
string clientID = "XXXXX-XXXXXXXXXX-bff4-f5a14a4b6466";
string clientSecret = "XXXXXXXXXX";
// ImagingApi의 인스턴스를 생성합니다.
ImagingApi imagingApi = new ImagingApi(clientSecret, clientID,"https://api.aspose.cloud/","v3.0",false);
// Cloud 스토리지에서 사용 가능한 입력 TIFF 이미지
String fileName = "TiffSampleImage.tiff";
int? frameId = 5; // Index of a frame
int? newWidth = 300;
int? newHeight = 450;
int? x = 10;
int? y = 10;
int? rectWidth = 200;
int? rectHeight = 300;
string rotateFlipMethod = "RotateNoneFlipNone";
// 결과에는 지정된 프레임만 포함됩니다.
bool? saveOtherFrames = false;
string folder = null; // Input file is saved at the root of the storage
string storage = null; // We are using default Cloud Storage
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest(fileName, frameId, newWidth, newHeight,
x, y, rectWidth, rectHeight, rotateFlipMethod, saveOtherFrames, folder, storage);
Stream imageFrame = imagingApi.GetImageFrame(getImageFrameRequest);
// 로컬 저장소에 업데이트된 이미지를 저장하세요.
using (var fileStream = File.Create("/Users/nayyer/Downloads/MyResultant.tiff"))
{
imageFrame.Seek(0, SeekOrigin.Begin);
imageFrame.CopyTo(fileStream);
}
우리는 rotateFlipMethod 속성에 모든 값을 제공할 수 있습니다.
RotateFlip 메서드 (Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, Rotate90FlipNone, Rotate90FlipX, Rotate90FlipXY, Rotate90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).기본값은 RotateNoneFlipNone입니다.
cURL를 사용하여 TIFF 프레임 가져오기
대신, 이 작업을 수행하기 위해 cURL 명령어를 사용할 수도 있습니다. 이 작업을 수행하기 위해 다음 API 호출 중 하나를 사용하는 것을 고려할 수 있습니다.
- GET /imaging/{name}/frames/{frameId} - 클라우드 스토리지에서 이미지를 로드하고 응답에서 이미지를 가져옵니다.
- POST /imaging/frames/{frameId} - 요청 본문에 TIFF를 전달하고 응답으로 결과 이미지를 가져옵니다.
첫 번째 단계는 ClientID와 ClientSecret를 기반으로 JSON Web Token (JWT)을 생성하는 것입니다. 따라서 JWT 토큰을 생성하기 위해 터미널에서 다음 명령을 실행하십시오:
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=XXXXXX-XXXXX-XXX-bff4-f5a14a4b6466&client_secret=XXXXXXXXXXX" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
이제 클라우드 스토리지에 이미 업로드된 TiffSampleImage.tiff 이미지에서 두 번째 프레임을 추출하는 다음 명령을 실행하십시오.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/TiffSampleImage.tiff/frames/2?saveOtherFrames=true" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o myresultant.tiff
결론
다중 프레임 TIFF 이미지에서 개별 프레임을 추출할 수 있는 능력은 스캔한 다중 페이지 문서, 레이어드 이미지 파일 또는 의료 이미징 데이터셋을 다룰 때 유용합니다. Aspose.Imaging Cloud SDK for .NET을 사용하면 REST API 호출 또는 C# 코드를 사용하여 이 프로세스를 쉽게 자동화할 수 있습니다.
추천 기사
다음 링크를 방문하여 알아보시기를 권장합니다: