redimensionner l'image

Redimensionner l’image TIFF à l’aide de Java

L’une des principales caractéristiques des fichiers TIFF est sa capacité à stocker plusieurs images (chacune ayant plusieurs canaux) sous forme d’images séquentielles dans une pile temporelle ou une pile z d’images. Maintenant, dans cet article, nous allons expliquer les étapes pour extraire un cadre TIFF, le redimensionner et l’enregistrer séparément sur un stockage. L’opération de redimensionnement en ligne de l’image s’adapte aux nouvelles dimensions (largeur et hauteur) tout en enregistrant le cadre TIFF mis à jour.

API de redimensionnement d’image

Aspose.Imaging Cloud SDK for Java est notre solution basée sur REST qui vous permet d’éditer, de manipuler et de transformer par programme des images raster, des métafichiers et Photoshop dans une variété de formats pris en charge. Il offre également la possibilité de manipuler des images TIFF, où nous pouvons même travailler sur des images TIFF individuelles. Maintenant, pour commencer à utiliser le SDK, nous devons ajouter sa référence dans un projet Java. Veuillez donc ajouter les détails suivants dans pom.xml du projet de type de construction 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>

L’étape suivante consiste à obtenir les informations d’identification du client à partir de Cloud Dashboard et si vous n’avez pas de compte sur Aspose Cloud Dashboard, veuillez créer un compte gratuit en utilisant une adresse e-mail valide.

Redimensionner l’image en ligne en Java

Dans cette section, nous allons utiliser l’API GetImageFrame pour développer notre redimensionneur d’image TIFF. Nous allons également télécharger l’image sur le stockage en nuage et après la mise à jour des paramètres de l’image, l’image modifiée est renvoyée dans le flux de réponse. Veuillez noter que l’API vous permet de redimensionner des photos en bloc ou de redimensionner uniquement un cadre TIFF spécifique à l’aide du paramètre saveOtherFrames.

  • Tout d’abord, créez un objet de ImagingApi à l’aide d’informations d’identification client personnalisées
  • Deuxièmement, lisez le contenu de la première image TIFF à l’aide de la méthode readAllBytes(…) et renvoyez-le au tableau byte[]
  • Troisièmement, créez une instance de la classe UploadFileRequest où nous passons le nom de l’image TIFF
  • Téléchargez maintenant la première image TIFF sur le stockage en nuage à l’aide de la méthode uploadFile(…)
  • L’étape suivante consiste à spécifier l’index de cadre TIFF, les nouvelles dimensions de hauteur et de largeur et l’index de cadre tiff particulier
  • Créez maintenant un objet de GetImageFrameRequest où nous transmettons le nom de l’image TIFF d’entrée et les propriétés définies ci-dessus
  • Appelez la méthode getImageFrame(…) de la classe ImagingAPI pour obtenir le cadre TIFF spécifié
  • Enfin, enregistrez l’image extraite sur le lecteur local à l’aide de l’objet FileOutputStream
// Obtenez ClientID et ClientSecret à partir de https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// créer un objet d'imagerie
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// charger la première image TIFF du système local
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// créer un objet de demande de téléchargement de fichier
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// télécharger la première image TIFF sur le stockage Cloud
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// nouvelle largeur et hauteur du cadre extrait
Integer newWidth = 400;
Integer newHeight = 600;

// Résultat pour inclure uniquement le cadre spécifié et non les autres cadres
Boolean saveOtherFrames = false;

// Créer un objet de requête pour extraire les trames tiff en fonction des détails spécifiés
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// la trame extraite est renvoyée dans le flux de réponse
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Enregistrer l'image TIFF extraite sur le stockage local
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
redimensionner le cadre tiff

Redimensionner l’aperçu du cadre TIFF

Les exemples d’images TIFF utilisés dans l’exemple ci-dessus peuvent être téléchargés depuis TiffSampleImage.tiff.

Réduire la taille de l’image à l’aide des commandes cURL

En raison de l’architecture REST de l’API, elle est également accessible via des commandes cURL. Donc, dans cette section, nous allons discuter des détails sur la façon de réduire la taille de l’image ou d’extraire un cadre tiff avec des dimensions particulières, en utilisant les commandes cURL. Maintenant, la première étape consiste à générer un jeton d’accès JWT (basé sur les informations d’identification du client) à l’aide de la commande suivante.

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"

Après la génération du jeton JWT, nous devons exécuter la commande suivante pour redimensionner le cadre 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

Conclusion

Cet article a fourni des détails simples mais étonnants sur la façon de redimensionner une image (TIFF) à l’aide de Java. Ce tutoriel a également expliqué toutes les étapes pour redimensionner le cadre TIFF à l’aide des commandes cURL. Veuillez noter qu’une autre option pour tester les capacités de l’API consiste à utiliser SwaggerUI dans un navigateur Web. De plus, si vous souhaitez modifier le code source du SDK, vous pouvez le télécharger depuis GitHub, car il est publié sous licence MIT.

Néanmoins, la Product Documentation est une source d’informations incroyable pour apprendre tous les détails nécessaires sur d’autres fonctionnalités intéressantes de l’API. Enfin, si vous rencontrez des problèmes lors de l’utilisation de l’API, vous pouvez envisager de nous contacter pour une résolution rapide via le [forum de support produit] gratuit 9.

Articles Liés

Veuillez visiter les liens suivants pour en savoir plus sur :