cambiar el tamaño de la imagen

Cambiar el tamaño de la imagen TIFF usando Java

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. Ahora, en este artículo, vamos a explicar los pasos para extraer un marco TIFF, cambiar su tamaño y guardarlo por separado en un almacenamiento. La operación de cambio de tamaño de la imagen en línea se adapta a las nuevas dimensiones (ancho y alto) mientras guarda el marco TIFF actualizado.

API de cambio de tamaño de imagen

Aspose.Imaging Cloud SDK para Java es nuestra solución basada en REST que le permite editar, manipular y transformar mediante programación imágenes rasterizadas, metarchivos y Photoshop en una variedad de formatos admitidos. También ofrece la función de manipular 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 un proyecto Java. Por lo tanto, agregue los siguientes detalles en pom.xml del 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 las credenciales de cliente de Cloud Dashboard y, si no tiene una cuenta en Aspose Cloud Dashboard, cree una cuenta gratuita con una dirección de correo electrónico válida.

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. También cargaremos la imagen en el almacenamiento en la nube y, después de actualizar los parámetros de la imagen, la imagen modificada se devolverá en el flujo de respuesta. Tenga en cuenta que la API le permite cambiar el tamaño de las fotos de forma masiva o cambiar el tamaño solo de un marco TIFF específico mediante el parámetro saveOtherFrames.

  • En primer lugar, cree un objeto de ImagingApi usando credenciales de cliente personalizadas
  • En segundo lugar, lea el contenido de la primera imagen TIFF usando el método readAllBytes(…) y devuélvalo a la matriz byte[]
  • En tercer lugar, cree una instancia de la clase UploadFileRequest donde pasemos el nombre de la imagen TIFF
  • Ahora suba la primera imagen TIFF al almacenamiento en la nube usando el método uploadFile(…)
  • El siguiente paso es especificar el índice de marco TIFF, las nuevas dimensiones de alto y ancho y el índice de marco tiff particular
  • Ahora crea un objeto de GetImageFrameRequest donde pasamos el nombre de la imagen TIFF de entrada y las propiedades definidas anteriormente
  • Llame al método getImageFrame(…) de la clase ImagingAPI para obtener el marco TIFF especificado
  • Finalmente, 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 mediante comandos cURL. Entonces, en esta sección, discutiremos los detalles sobre cómo reducir el tamaño de la imagen o extraer un marco tiff con 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 proporciona detalles simples pero sorprendentes sobre cómo cambiar el tamaño de una imagen (TIFF) usando Java. Este tutorial también ha explicado todos los pasos para cambiar el tamaño del marco TIFF usando los comandos cURL. Tenga en cuenta que otra opción para probar las capacidades de la API es a través de SwaggerUI dentro de un navegador web. Además, si está interesado en modificar el código fuente del SDK, puede descargarlo desde GitHub, ya que está publicado bajo licencia MIT.

Sin embargo, la Documentación del producto es una increíble fuente de información para aprender todos los detalles necesarios sobre otras características interesantes de la API. Por último, en caso de que tenga problemas al usar la API, puede considerar comunicarse con nosotros para obtener una solución rápida a través del foro de soporte del producto gratuito.

Artículos relacionados

Visite los siguientes enlaces para obtener más información sobre: