redimensionner l'image

Redimensionner l’image TIFF à l’aide de Java

Nous savons que l’une des principales caractéristiques des fichiers TIFF est leur capacité à stocker plusieurs images (chacune ayant plusieurs canaux) sous forme d’images séquentielles dans une pile temporelle ou une pile z d’images. Donc, dans cet article, explique comment extraire un cadre d’une image TIFF, le redimensionner et l’enregistrer séparément sur le stockage. L’opération de redimensionnement nécessite de nouvelles dimensions (largeur et hauteur) pour un cadre TIFF spécifié.

API de redimensionnement d’image

Aspose.Imaging Cloud SDK for Java est notre solution basée sur REST offrant les capacités d’éditer, de manipuler et de transformer par programmation des raster, des métafichiers, Photoshop vers une variété de formats pris en charge. Dans le même temps, 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 notre projet Java en incluant les informations suivantes dans pom.xml (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 auprès de Cloud Dashboard et si vous n’avez pas de compte sur Aspose Cloud Dashboard, veuillez créer un compte gratuit via une adresse e-mail valide. Connectez-vous maintenant à l’aide du compte nouvellement créé et recherchez/créez l’ID client et le secret client sur le tableau de bord Aspose Cloud.

Redimensionner l’image en ligne en Java

Dans cette section, nous allons utiliser l’API GetImageFrame pour développer notre redimensionneur d’image TIFF. Cette requête API utilise un nom d’image comme chemin dans l’URL. Par conséquent, nous devons d’abord importer l’image dans Cloud Storage. Après la mise à jour des paramètres d’image, l’API renvoie l’image mise à jour dans la réponse. Vous avez également la possibilité de redimensionner les photos en bloc et vous pouvez spécifier si nous devons redimensionner uniquement un cadre TIFF spécifique à l’aide du paramètre saveOtherFrames.

  • Tout d’abord, créez un objet d’ImagingApi basé sur les informations d’identification personnalisées du client
  • Deuxièmement, lisez le contenu de la première image TIFF en utilisant la méthode readAllBytes(…) et passez au tableau byte[]
  • Troisièmement, créez une instance de la classe UploadFileRequest où nous spécifions le nom de TIFF sur le stockage Cloud
  • Téléchargez maintenant la première image TIFF sur le stockage en nuage à l’aide de la méthode uploadFile(…)
  • Spécifiez l’index de cadre TIFF, la nouvelle hauteur et la largeur du cadre extrait et spécifiez de ne redimensionner que le cadre spécifié
  • Créez maintenant un objet de GetImageFrameRequest où nous spécifions l’image TIFF d’entrée et les propriétés définies ci-dessus
  • Appelez la méthode getImageFrame(…) de ImagingAPI pour obtenir le cadre TIFF
  • 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, il est également possible d’y accéder avec les 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 le cadre tiff dans des dimensions particulières à l’aide des 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 la trame 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 étonnants sur la façon de redimensionner l’image (TIFF) à l’aide du SDK cloud Java. Nous avons appris les étapes pour redimensionner le cadre TIFF à l’aide d’un extrait de code Java et avons exploré la possibilité de redimensionner l’image en ligne à l’aide des commandes cURL. Vous pouvez également envisager de tester les fonctionnalités prometteuses de l’API via SwaggerUI dans le navigateur Web. Et si vous souhaitez modifier le code source du SDK, vous pouvez le télécharger depuis GitHub (tous nos SDK Cloud sont développés sous licence MIT).

Néanmoins, la Product Documentation est une source d’informations incroyable pour en savoir plus sur d’autres fonctionnalités intéressantes offertes par 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 forum d’assistance produit.

Articles Liés

Veuillez visiter les liens suivants pour en savoir plus sur :