TIFF de TIF es una abreviatura de Tag Image File Format y se encuentra entre las imágenes gráficas de trama populares, muy utilizadas por los artistas gráficos, la industria editorial y los fotógrafos. El TIFF es diferente de JPEG, GIF y PNG porque es un formato “sin comprimir” y puede almacenar muchos más datos de imagen que sus equivalentes JPEG. Ahora, una de las características destacadas de los archivos TIFF es su capacidad para almacenar múltiples imágenes (cada una con múltiples canales) como cuadros secuenciales en una pila de tiempo o pila z de imágenes. Entonces, en este artículo, vamos a explorar los detalles sobre cómo extraer fotogramas de imágenes TIFF de varios fotogramas utilizando Java Cloud SDK.
- API de procesamiento de imágenes TIFF
- Cómo extraer una imagen TIFF en Java
- Procesamiento de imágenes TIFF usando comandos cURL
API de procesamiento de imágenes TIFF
Hemos creado una API de procesamiento de imágenes que ofrece la capacidad de editar, manipular y transformar ráster, metarchivos, Photoshop y otros Formatos compatibles en una variedad de formatos de archivo. Ahora hablando de la manipulación de imágenes TIFF, la API es muy capaz de procesar imágenes TIFF. Entonces, según el alcance de este artículo, vamos a utilizar Aspose.Imaging Cloud SDK for Java, que es un contenedor de la API REST. Entonces, el primer paso para utilizar sus capacidades es agregar su referencia en el proyecto Java al incluir la siguiente información en pom.xml (proyecto de tipo de compilación maven).
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
El siguiente paso es obtener los detalles de las credenciales del cliente de Cloud Dashboard y, si no tiene una cuenta en Aspose Cloud Dashboard, cree una cuenta gratuita a través de una dirección de correo electrónico válida. Ahora inicie sesión con la cuenta recién creada y busque/cree el ID del cliente y el secreto del cliente en el panel de Aspose Cloud.
Cómo extraer una imagen TIFF en Java
Exploremos los detalles sobre cómo extraer imágenes de archivos tiff utilizando un fragmento de código Java. Tenga en cuenta que la API también le permite cambiar el tamaño, recortar y rotar Voltear el marco extraído. Además, uno de los parámetros booleanos saveOtherFrames le permite especificar si el resultado incluirá todos los demás fotogramas o solo un fotograma específico.
- En primer lugar, cree un objeto de ImagingApi basado en credenciales de cliente personalizadas
- En segundo lugar, lea el contenido de la primera imagen TIFF usando el método readAllBytes(…) y pase a la matriz byte[]
- En tercer lugar, cree una instancia de la clase UploadFileRequest donde especificamos el nombre de TIFF sobre el almacenamiento en la nube
- Ahora suba la primera imagen TIFF al almacenamiento en la nube usando el método uploadFile(…)
- El siguiente paso es especificar el índice del marco TIFF, la altura y el ancho del marco extraído, el origen de la extracción y especificar si desea el marco extraído en un ángel en particular.
- Ahora cree un objeto de GetImageFrameRequest donde especificamos la imagen TIFF de entrada y las propiedades definidas anteriormente
- Llame al método getImageFrame(…) de ImagingAPI para obtener el marco TIFF
- Guarde el marco extraído en la unidad local usando el objeto FileOutputStream
// Obtenga ClientID y ClientSecret de https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// crear objeto de imagen
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// cargar la primera imagen TIFF del sistema local
File file1 = new File("DeskewSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// crear objeto de solicitud de carga de archivo
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// sube la primera imagen TIFF al almacenamiento en la nube
imageApi.uploadFile(uploadRequest);
Integer frameId = 0; // Frame number inside TIFF
// nuevo ancho y alto del marco extraído
Integer newWidth = 1000;
Integer newHeight = 1400;
// origen para iniciar la extracción de fotogramas
Integer x = 10;
Integer y = 10;
// región rectangular para extraer marco
Integer rectWidth = 900;
Integer rectHeight = 800;
// especificar el ángulo de rotación para el marco TIFF extraído
String rotateFlipMethod = "Rotate90FlipY";
// Resultado para incluir solo el marco especificado, no otros marcos
Boolean saveOtherFrames = false;
// Cree un objeto de solicitud para extraer marcos tiff en función de los detalles especificados
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
x, y, rectWidth, rectHeight, null, saveOtherFrames, null, null);
// el marco extraído se devuelve en el flujo de respuesta
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);
// Guarde el marco TIFF extraído en el almacenamiento local
FileOutputStream fos = new FileOutputStream("/Users/s4/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
Las imágenes TIFF de muestra utilizadas en el ejemplo anterior se pueden descargar desde DeskewSampleImage.tif.
Procesamiento de imágenes TIFF usando comandos cURL
Otra forma conveniente de acceder a las API REST es a través de los comandos cURL. Dado que Aspose.Imaging Cloud se basa en la arquitectura REST, también podemos extraer marcos de imágenes tiff usando comandos cURL. Ahora, el requisito previo de esta actividad es generar un token de acceso JWT (basado en las credenciales del cliente) usando el siguiente comando.
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"
Después de la generación del token JWT, debemos ejecutar el siguiente comando para extraer el marco de imágenes TIFF.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/first.tiff/frames/0?newWidth=1000&newHeight=1200&x=10&y=10&rectWidth=800&rectHeight=800&saveOtherFrames=false" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o ExtractedFrame.tiff
Conclusión
En este punto, hemos aprendido todos los detalles necesarios sobre cómo extraer imágenes de archivos tiff. Hemos explorado la opción de extraer el marco TIFF utilizando un fragmento de código Java Java o mediante comandos cURL. Otro enfoque para probar las características prometedoras de la API es a través de SwaggerUI y, en caso de que desee modificar el código fuente del SDK, puede descargarlo desde GitHub (todos nuestros SDK de la nube están desarrollados bajo MIT licencia).
No obstante, la Documentación del producto es una excelente fuente de información para conocer otras características interesantes que ofrece la API. Por último, en caso de que encuentre algún problema al usar la API, puede considerar acercarse a nosotros para una resolución rápida de forma gratuita. foro de soporte de productos.
Artículos relacionados
Visite los siguientes enlaces para obtener más información sobre: