O TIFF(Tag Image File Format) é amplamente utilizado em publicações, design gráfico e fotografia devido à sua capacidade de armazenar gráficos raster de alta qualidade. Ao contrário do JPEG ou PNG, um arquivo TIFF pode conter várias imagens ou quadros dentro de um único arquivo. Essas imagens TIFF de múltiplos quadros são frequentemente usadas em imagens médicas, documentos digitalizados e designs em camadas.

API de Processamento de Imagem

Aspose.Imaging Cloud SDK para .NET é uma API incrível baseada na arquitetura REST, oferecendo as capacidades de manipular e processar imagens online. Oferece uma abordagem simples e fácil para extrair quadros TIFF de uma imagem TIFF de múltiplos quadros dentro de um trecho de código C# .NET. O SDK está disponível para download em NuGet e GitHub. Agora, instale a API REST para começar a manipular TIFF e outros formatos de imagem.

Install-Package Aspose.Imaging-Cloud

Obtenha seu ID de Cliente e Segredo de Cliente no Aspose Cloud dashboard.

Extrair Quadros TIFF usando C#

Esta seção explica os detalhes sobre como podemos extrair facilmente frames TIFF usando C# .NET.

  • Primeiro, crie um objeto de ImagingApi fornecendo ClientID e ClientSecret como argumentos.
  • Em segundo lugar, crie um objeto de GetImageFrameRequest que recebe como argumentos o nome do TIFF, frameID e outros parâmetros.
  • Agora, chame GetImageFrame(..) método da ImagingApi onde passamos o objeto GetImageFrameRequest como argumento de entrada.
  • Finalmente, salve a imagem extraída.
// Obtenha ClientID e ClientSecter de https://dashboard.aspose.cloud/
string clientID = "XXXXX-XXXXXXXXXX-bff4-f5a14a4b6466"; 
string clientSecret = "XXXXXXXXXX";

// criar uma instância de ImagingApi
ImagingApi imagingApi = new ImagingApi(clientSecret, clientID,"https://api.aspose.cloud/","v3.0",false);

// imagem TIFF disponível no armazenamento em nuvem
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";

// O resultado incluirá apenas o quadro especificado.
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);

// Salvar imagem atualizada no armazenamento local
using (var fileStream = File.Create("/Users/nayyer/Downloads/MyResultant.tiff"))
{
    imageFrame.Seek(0, SeekOrigin.Begin);
    imageFrame.CopyTo(fileStream);
}

Podemos fornecer qualquer um dos valores para a propriedade rotateFlipMethod.

Método RotateFlip (Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, Rotate90FlipNone, Rotate90FlipX, Rotate90FlipXY, Rotate90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).O padrão é RotateNoneFlipNone.

Obter Quadros TIFF usando cURL

Alternativamente, também podemos usar comandos cURL para realizar esta operação. Você pode considerar usar qualquer uma das seguintes chamadas de API para realizar esta operação.

  1. GET /imaging/{name}/frames/{frameId} - Carregar imagem do armazenamento em nuvem e obter a imagem em resposta.
  2. POST /imaging/frames/{frameId} - Envie TIFF no corpo da solicitação e receba a imagem resultante na resposta.

O primeiro passo é gerar o JSON Web Token (JWT) com base no seu ClientID e ClientSecret. Portanto, execute o seguinte comando no terminal para gerar o token 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"

Agora, execute o seguinte comando para extrair o 2º quadro da TiffSampleImage.tiff imagem já carregada no armazenamento em nuvem.

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

Conclusão

A capacidade de extrair quadros individuais de imagens TIFF de múltiplas páginas é valiosa ao trabalhar com documentos digitalizados multipágina, arquivos de imagem em camadas ou conjuntos de dados de imagens médicas. Com Aspose.Imaging Cloud SDK para .NET, você pode automatizar esse processo facilmente, utilizando chamadas de API REST ou código C#.

Artigos Recomendados

Recomendamos que você visite os seguintes links para aprender sobre: