cambiar el tamaño de la imagen

Cambiar el tamaño de la imagen TIFF usando Java

Sabemos que 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 se explica cómo extraer un marco de una imagen TIFF, cambiarle el tamaño y guardarlo por separado en el almacenamiento. La operación de cambio de tamaño requiere nuevas dimensiones (ancho y alto) para un marco TIFF específico.

API de cambio de tamaño de imagen

Aspose.Imaging Cloud SDK para Java es nuestra solución basada en REST que ofrece las capacidades para editar, manipular y transformar mediante programación ráster, metarchivos, Photoshop a una variedad de Formatos compatibles. Al mismo tiempo, también ofrece la función de manipulación de imágenes TIFF donde incluso podemos trabajar en marcos TIFF individuales. Ahora, para comenzar con la utilización del SDK, debemos agregar su referencia en nuestro proyecto java incluyendo 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>http://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.

Cambiar el tamaño de la imagen en línea en Java

En esta sección, vamos a utilizar la API GetImageFrame para desarrollar nuestro redimensionador de imágenes TIFF. Esta solicitud de API toma un nombre de imagen como ruta en la URL, por lo tanto, primero debemos cargar la imagen en Cloud Storage. Después de actualizar los parámetros de la imagen, la API devuelve la imagen actualizada en la respuesta. También tiene la capacidad de cambiar el tamaño de las fotos de forma masiva y puede especificar si necesitamos cambiar el tamaño solo de un marco TIFF específico usando el parámetro saveOtherFrames.

  • 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(…)
  • Especifique el índice del marco TIFF, la nueva altura y ancho para el marco extraído, y especifique que solo se cambie el tamaño del marco especificado
  • 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("TiffSampleImage.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 = 400;
Integer newHeight = 600;

// 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,
                    null, null, null, null, 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/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
cambiar el tamaño del marco tiff

Cambiar el tamaño de la vista previa del marco TIFF

Las imágenes TIFF de muestra utilizadas en el ejemplo anterior se pueden descargar desde TiffSampleImage.tiff.

Reduzca el tamaño de la imagen usando los comandos cURL

Debido a la arquitectura REST de la API, también se puede acceder con comandos cURL. Entonces, en esta sección, discutiremos los detalles sobre cómo reducir el tamaño de la imagen o extraer el marco tiff en dimensiones particulares usando los comandos cURL. Ahora, el primer paso 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 cambiar el tamaño del marco TIFF.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.tiff/frames/0?newWidth=400&newHeight=600&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"
-o ResizedFrame.tiff

Conclusión

Este artículo ha proporcionado algunos detalles sorprendentes sobre cómo cambiar el tamaño de la imagen (TIFF) usando el SDK de la nube de Java. Hemos aprendido los pasos para cambiar el tamaño del marco TIFF usando un fragmento de código Java y hemos explorado la opción de cambiar el tamaño de la imagen en línea usando los comandos cURL. También puede considerar probar las características prometedoras de la API a través de SwaggerUI dentro del navegador web. Y en caso de que quieras modificar el código fuente del SDK, puedes descargarlo desde GitHub (todos nuestros Cloud SDK están desarrollados bajo licencia MIT).

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: