zmeniť veľkosť obrázka

Zmeňte veľkosť obrázka TIFF pomocou Java

Jednou z prominentných vlastností súborov TIFF je ich schopnosť ukladať viacero obrázkov (každý má viacero kanálov) ako sekvenčné snímky v časovom alebo z-zásobníku obrázkov. Teraz v tomto článku vysvetlíme kroky na extrahovanie rámca TIFF, zmenu jeho veľkosti a samostatné uloženie na úložisko. Operácia zmeny veľkosti obrázka online sa stará o nové rozmery (šírku a výšku) a zároveň ukladá aktualizovaný rám TIFF.

Zmeniť veľkosť obrázka API

Aspose.Imaging Cloud SDK for Java je naše riešenie založené na REST, ktoré vám umožňuje programovo upravovať, manipulovať a transformovať rastrové obrázky, metasúbory a Photoshop do rôznych podporovaných formátov. Ponúka tiež funkciu manipulácie s obrázkami TIFF, kde môžeme dokonca pracovať na jednotlivých snímkach TIFF. Teraz, aby sme mohli začať s využitím SDK, musíme pridať jeho referenciu do projektu Java. Pridajte teda nasledujúce podrobnosti do pom.xml projektu typu zostavy 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>

Ďalším krokom je získanie prihlasovacích údajov klienta z Cloud Dashboard a ak nemáte účet cez Aspose Cloud Dashboard, vytvorte si bezplatný účet s platnou e-mailovou adresou.

Zmena veľkosti obrázka online v jazyku Java

V tejto časti použijeme API GetImageFrame na vývoj nášho zmenšovača obrázkov TIFF. Obrázok tiež nahráme na cloudové úložisko a po aktualizácii parametrov obrázka sa upravený obrázok vráti v streame odpovedí. Upozorňujeme, že rozhranie API vám umožňuje hromadne meniť veľkosť fotografií alebo meniť veľkosť iba konkrétneho rámu TIFF pomocou parametra saveOtherFrames.

  • Najprv vytvorte objekt ImagingApi pomocou prispôsobených poverení klienta
  • Po druhé, prečítajte si obsah prvého obrázka TIFF pomocou metódy readAllBytes(…) a vráťte ho do poľa bajtov[]
  • Po tretie, vytvorte inštanciu triedy UploadFileRequest, do ktorej odovzdáme názov obrázka TIFF
  • Teraz nahrajte prvý obrázok TIFF do cloudového úložiska pomocou metódy uploadFile(…).
  • Ďalším krokom je zadanie indexu snímky TIFF, nových rozmerov výšky a šírky a konkrétneho indexu snímky TIFF
  • Teraz vytvorte objekt GetImageFrameRequest, kde odovzdáme vstupný názov TIFF obrázku a vyššie definované vlastnosti
  • Zavolaním metódy getImageFrame(…) triedy ImagingAPI získate špecifikovaný rámec TIFF
  • Nakoniec uložte extrahovaný rámec na lokálny disk pomocou objektu FileOutputStream
// Získajte ClientID a ClientSecret z https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// vytvoriť Imaging objekt
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// načítať prvý obrázok TIFF z lokálneho systému
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// vytvoriť objekt žiadosti o nahranie súboru
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// nahrajte prvý obrázok TIFF do cloudového úložiska
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// nová šírka a výška extrahovaného rámu
Integer newWidth = 400;
Integer newHeight = 600;

// Výsledkom bude zahrnutie iba špecifikovaného rámca, nie iných rámov
Boolean saveOtherFrames = false;

// Vytvorte objekt požiadavky na extrahovanie snímok tiff na základe špecifikovaných podrobností
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// extrahovaný rámec sa vráti v toku odpovedí
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Uložte extrahovaný TIFF rámec na lokálnom úložisku
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
zmeniť veľkosť tiff rámu

Zmeniť veľkosť ukážky rámčeka TIFF

Vzorové obrázky TIFF použité vo vyššie uvedenom príklade si môžete stiahnuť z TiffSampleImage.tiff.

Znížte veľkosť obrázka pomocou príkazov cURL

Vďaka REST architektúre API je možné k nemu pristupovať aj pomocou príkazov cURL. Takže v tejto časti budeme diskutovať o podrobnostiach o tom, ako zmenšiť veľkosť obrázka alebo extrahovať rám tiff s konkrétnymi rozmermi pomocou príkazov cURL. Teraz je prvým krokom vygenerovanie prístupového tokenu JWT (na základe poverení klienta) pomocou nasledujúceho príkazu.

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"

Po vygenerovaní tokenu JWT musíme vykonať nasledujúci príkaz na zmenu veľkosti rámca 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

Záver

Tento článok poskytuje jednoduché, ale úžasné podrobnosti o tom, ako zmeniť veľkosť obrázka (TIFF) pomocou Java. Tento tutoriál tiež vysvetlil všetky kroky na zmenu veľkosti rámu TIFF pomocou príkazov cURL. Upozorňujeme, že ďalšou možnosťou otestovania schopností API je SwaggerUI vo webovom prehliadači. Ak máte záujem o úpravu zdrojového kódu SDK, môžete si ho stiahnuť z GitHub, pretože je publikovaný pod licenciou MIT.

Napriek tomu je Product Documentation úžasným zdrojom informácií, aby ste sa dozvedeli všetky potrebné podrobnosti o ďalších zaujímavých funkciách API. A napokon, v prípade, že sa pri používaní rozhrania API vyskytnú problémy, môžete nás požiadať o rýchle riešenie prostredníctvom bezplatného fóra podpory produktov.

Súvisiace články

Ak chcete získať viac informácií, navštívte nasledujúce odkazy: