Jednou z prominentních vlastností souborů TIFF je jejich schopnost ukládat více obrázků (každý má více kanálů) jako sekvenční snímky v časovém zásobníku nebo v zásobníku z obrázků. Nyní v tomto článku vysvětlíme kroky k extrahování rámce TIFF, změně jeho velikosti a samostatnému uložení na úložiště. Online operace změny velikosti obrázku se přizpůsobí novým rozměrům (šířka a výška) a zároveň uloží aktualizovaný rámeček TIFF.
- Změnit velikost obrázku API
- Změna velikosti obrázku online v Javě
- Zmenšete velikost obrázku pomocí příkazů cURL
Změnit velikost obrázku API
Aspose.Imaging Cloud SDK for Java je naše řešení založené na REST, které vám umožňuje programově upravovat, manipulovat a transformovat rastrové obrázky, metasoubory a Photoshop do různých podporovaných formátů. Nabízí také funkci pro manipulaci s obrázky TIFF, kde můžeme dokonce pracovat na jednotlivých snímcích TIFF. Nyní, abychom mohli začít s využitím SDK, musíme přidat jeho odkaz do projektu Java. Přidejte tedy prosím následující podrobnosti do pom.xml projektu typu sestavení maven.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
Dalším krokem je získání přihlašovacích údajů klienta z Cloud Dashboard a pokud nemáte účet přes Aspose Cloud Dashboard, vytvořte si prosím bezplatný účet pomocí platné e-mailové adresy.
Změna velikosti obrázku online v Javě
V této sekci použijeme GetImageFrame API k vývoji našeho TIFF pro změnu velikosti obrázků. Obrázek také nahrajeme do cloudového úložiště a po aktualizaci parametrů obrázku se upravený obrázek vrátí do streamu odpovědí. Vezměte prosím na vědomí, že API vám umožňuje hromadně měnit velikost fotografií nebo měnit velikost pouze konkrétního rámečku TIFF pomocí parametru saveOtherFrames.
- Nejprve vytvořte objekt ImagingApi pomocí personalizovaných přihlašovacích údajů klienta
- Za druhé, přečtěte si obsah prvního obrázku TIFF pomocí metody readAllBytes(…) a vraťte jej do pole byte[]
- Za třetí vytvořte instanci třídy UploadFileRequest, kam předáme název obrázku TIFF
- Nyní nahrajte první obrázek TIFF do cloudového úložiště pomocí metody uploadFile(…).
- Dalším krokem je zadat index snímku TIFF, nové rozměry výšky a šířky a konkrétní index snímku TIFF
- Nyní vytvořte objekt GetImageFrameRequest, do kterého předáme název vstupního TIFF obrázku a výše definované vlastnosti
- Zavolejte metodu getImageFrame(…) třídy ImagingAPI pro získání zadaného rámce TIFF
- Nakonec uložte extrahovaný snímek na místní disk pomocí objektu FileOutputStream
// Získejte ClientID a ClientSecret z https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// vytvořit Imaging objekt
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// načtěte první obrázek TIFF z místního systému
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// vytvořit objekt požadavku na nahrání souboru
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// nahrajte první obrázek TIFF do cloudového úložiště
imageApi.uploadFile(uploadRequest);
Integer frameId = 0; // Frame number inside TIFF
// nová šířka a výška vytaženého rámu
Integer newWidth = 400;
Integer newHeight = 600;
// Výsledkem bude zahrnutí pouze zadaného rámce, nikoli jiných rámců
Boolean saveOtherFrames = false;
// Vytvořte objekt požadavku pro extrahování snímků tiff na základě zadaných podrobností
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
null, null, null, null, null, saveOtherFrames, null, null);
// extrahovaný rámec je vrácen v toku odpovědí
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);
// Uložte extrahovaný snímek TIFF na místní úložiště
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
Ukázkové obrázky TIFF použité ve výše uvedeném příkladu lze stáhnout z TiffSampleImage.tiff.
Zmenšete velikost obrázku pomocí příkazů cURL
Díky REST architektuře API lze k němu přistupovat také pomocí příkazů cURL. V této části tedy probereme podrobnosti o tom, jak zmenšit velikost obrázku nebo extrahovat snímek tiff s konkrétními rozměry pomocí příkazů cURL. Nyní je prvním krokem vygenerování přístupového tokenu JWT (na základě přihlašovacích údajů klienta) pomocí následujícího pří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 vygenerování tokenu JWT musíme provést následující příkaz ke změně velikosti rámce 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ávěr
Tento článek poskytuje jednoduché, ale úžasné podrobnosti o tom, jak změnit velikost obrázku (TIFF) pomocí Java. Tento tutoriál také vysvětlil všechny kroky ke změně velikosti rámečku TIFF pomocí příkazů cURL. Vezměte prosím na vědomí, že další možností, jak otestovat možnosti API, je prostřednictvím SwaggerUI ve webovém prohlížeči. Také, pokud máte zájem upravit zdrojový kód SDK, lze si jej stáhnout z GitHub, protože je publikován pod licencí MIT.
Nicméně Product Documentation je úžasným zdrojem informací, abyste se dozvěděli všechny potřebné podrobnosti o dalších zajímavých funkcích API. A konečně, v případě, že se při používání rozhraní API setkáte s problémy, můžete nás požádat o rychlé řešení prostřednictvím bezplatného fóra podpory produktů.
Související články
Další informace naleznete na následujících odkazech: