Bild änneren

Änneren d’Gréisst vum TIFF Bild mat Java

Ee vun de prominente Feature vun TIFF Dateien ass seng Fäegkeeten fir verschidde Biller ze späicheren (jidderee mat multiple Kanäl) als sequentiell Rummen an engem Zäitstack oder Z-Stack vu Biller. Elo an dësem Artikel wäerte mir d’Schrëtt erkläre fir en TIFF Frame ze extrahieren, d’Gréisst z’änneren an se separat op enger Späichere späicheren. D’Gréisst vum Bild online Operatioun entsprécht nei Dimensiounen (Breet & Héicht) wärend den aktualiséierten TIFF Frame späichert.

Änneren Bild API

Aspose.Imaging Cloud SDK fir Java ass eis REST-baséiert Léisung déi Iech erlaabt programmatesch Rasterbiller, Metafilen a Photoshop op eng Vielfalt vu [Ënnerstëtzte Formater] ze änneren, ze manipuléieren an ze transforméieren. Et bitt och d’Feature fir TIFF Biller ze manipuléieren, wou mir souguer op eenzel TIFF Frames kënne schaffen. Elo, fir mat der SDK Utilisatioun unzefänken, musse mir seng Referenz an engem Java Projet derbäisetzen. Also, füügt w.e.g. déi folgend Detailer an pom.xml vum Maven Build Type Project.

<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>

De nächste Schrëtt ass de Client Umeldungsinformatioune vum Cloud Dashboard ze kréien a wann Dir kee Kont hutt iwwer Aspose Cloud Dashboard, erstellt w.e.g. e gratis Kont mat enger valabeler E-Mailadress.

Änneren d’Gréisst vum Bild Online op Java

An dëser Sektioun wäerte mir GetImageFrame API benotzen fir eisen TIFF Bildresizer z’entwéckelen. Mir lueden och d’Bild op d’Wollekspäicherung erop an nodeems d’Bildparameter aktualiséiert ginn, gëtt dat modifizéiert Bild als Äntwertstroum zréck. Notéiert w.e.g. datt d’API Iech erlaabt d’Gréisst vun Fotoen ze bulk änneren oder nëmmen e spezifesche TIFF Frame mat SaveOtherFrames Parameter ze änneren.

  • Als éischt, erstellt en Objekt vun ImagingApi mat personaliséierte Client Umeldungsinformatiounen
  • Zweetens, liest den Inhalt vum éischten TIFF Bild mat der ReadAllBytes (…) Method a gitt et zréck op Byte[] Array
  • Drëttens, erstellt eng Instanz vun der UploadFileRequest Klass wou mir den Numm vum TIFF Bild passéieren
  • Elo lued dat éischt TIFF Bild op d’Wolleklagerung mat der UploadFile (…) Method erop
  • De nächste Schrëtt ass den TIFF Frame Index ze spezifizéieren, nei Héicht & Breet Dimensiounen a speziellen tiff Frame Index
  • Erstellt elo en Objet vu GetImageFrameRequest wou mir den Input TIFF Bildnumm an iwwer definéiert Eegeschafte passéieren
  • Rufft d’getImageFrame(…) Method vun der ImagingAPI Klass fir de spezifizéierte TIFF Frame ze kréien
  • Endlech späichert den extrahéierten Frame op lokalen Drive mam FileOutputStream Objet
// Kritt ClientID a ClientSecret vun https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// schafen Imaging Objet
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// lued éischt TIFF Bild vum lokalen System
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// schafen Fichier eropluede Ufro Objet
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// Eroplueden éischt TIFF Bild op Cloud Stockage
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// nei Breet & Héicht vum extrahéierte Frame
Integer newWidth = 400;
Integer newHeight = 600;

// Resultat fir nëmmen de spezifizéierte Frame ze enthalen net aner Rummen
Boolean saveOtherFrames = false;

// Erstellt en Ufroobjekt fir Tiff Frames ze extrahieren baséiert op spezifizéierter Detailer
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// den extrahéierten Frame gëtt als Äntwertstroum zréckginn
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Spuert extrahéiert TIFF Frame op lokaler Späichere
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
Gréisst tiff Frame änneren

Änneren d’Gréisst vum TIFF Frame Preview

D’Probe TIFF Biller, déi am uewe genannte Beispill benotzt ginn, kënnen erofgeluede ginn TiffSampleImage.tiff.

Reduzéieren Bildgréisst mat cURL Kommandoen

Wéinst der REST Architektur vun der API kann et och iwwer cURL Kommandoen zougänglech sinn. Also an dëser Sektioun wäerte mir d’Detailer diskutéieren wéi d’Bildgréisst reduzéiert oder tiff Frame mat speziellen Dimensiounen extrahéiert gëtt, mat de cURL Kommandoen. Elo ass den éischte Schrëtt e JWT Zougang Token ze generéieren (baséiert op Client Umeldungsinformatiounen) mam folgenden Kommando.

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"

No der JWT Token Generatioun musse mir de folgende Kommando ausféieren fir den TIFF Frame z’änneren.

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

Conclusioun

Dësen Artikel huet einfach awer erstaunlech Detailer zur Verfügung gestallt wéi d’Gréisst vum Bild (TIFF) mat Java geännert gëtt. Dësen Tutorial huet och all Schrëtt erkläert fir d’Gréisst vum TIFF Frame mat cURL Kommandoen z’änneren. Notéiert w.e.g. datt eng aner Optioun fir d’API-Fäegkeeten ze testen ass iwwer SwaggerUI an engem Webbrowser. Och, wann Dir interesséiert sidd de Quellcode vun der SDK z’änneren, kann et vun [GitHub] erofgeluede ginn 7, well et ënner MIT Lizenz publizéiert gëtt.

Trotzdem ass d’ Produktdokumentatioun eng erstaunlech Informatiounsquell fir all déi néideg Detailer iwwer aner spannend Feature vun der API ze léieren. Schlussendlech, am Fall wou Dir Probleemer begéint wärend Dir d’API benotzt, kënnt Dir iwwerleeën eis fir eng séier Léisung iwwer de gratis [Produkt Support Forum] ze kommen.

Zesummenhang Artikelen

Besicht w.e.g. déi folgend Linken fir méi iwwer ze léieren: