formaat afbeelding wijzigen

Formaat van TIFF-afbeelding wijzigen met Java

Een van de opvallende kenmerken van TIFF-bestanden is de mogelijkheid om meerdere afbeeldingen (elk met meerdere kanalen) op te slaan als sequentiële frames in een time-stack of z-stack van afbeeldingen. In dit artikel gaan we nu de stappen uitleggen om een TIFF-frame te extraheren, het formaat ervan te wijzigen en het afzonderlijk op een opslagmedium op te slaan. De online bewerking voor het wijzigen van de afbeeldingsgrootte is geschikt voor nieuwe dimensies (breedte en hoogte) terwijl het bijgewerkte TIFF-frame wordt opgeslagen.

Formaat afbeeldings-API wijzigen

Aspose.Imaging Cloud SDK voor Java is onze op REST gebaseerde oplossing waarmee u rasterafbeeldingen, metabestanden en Photoshop programmatisch kunt bewerken, manipuleren en transformeren naar een verscheidenheid aan ondersteunde indelingen. Het biedt ook de mogelijkheid om TIFF-afbeeldingen te manipuleren, waarbij we zelfs aan individuele TIFF-frames kunnen werken. Om nu aan de slag te gaan met het gebruik van de SDK, moeten we de referentie ervan toevoegen aan een Java-project. Voeg dus de volgende details toe in pom.xml van het 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 volgende stap is het verkrijgen van de klantreferenties van Cloud Dashboard en als u geen account hebt via Aspose Cloud Dashboard, maak dan een gratis account aan met een geldig e-mailadres.

Formaat van afbeelding online wijzigen in Java

In deze sectie gaan we de GetImageFrame API gebruiken om onze TIFF-afbeeldingsresizer te ontwikkelen. We zullen de afbeelding ook uploaden naar cloudopslag en na het bijwerken van de afbeeldingsparameters wordt de gewijzigde afbeelding geretourneerd in de responsstroom. Houd er rekening mee dat u met de API het formaat van foto’s in bulk kunt wijzigen of alleen het formaat van een specifiek TIFF-frame kunt wijzigen met behulp van de saveOtherFrames-parameter.

  • Maak eerst een object van ImagingApi met gepersonaliseerde klantreferenties
  • Ten tweede, lees de inhoud van de eerste TIFF-afbeelding met behulp van de readAllBytes(…)-methode en stuur deze terug naar de byte[]-array
  • Ten derde, maak een instantie van de klasse UploadFileRequest waar we de naam van de TIFF-afbeelding doorgeven
  • Upload nu de eerste TIFF-afbeelding naar cloudopslag met behulp van de methode uploadFile(…).
  • De volgende stap is het specificeren van de TIFF-frame-index, nieuwe hoogte- en breedteafmetingen en een bepaalde tiff-frame-index
  • Maak nu een object van GetImageFrameRequest waar we de ingevoerde TIFF-afbeeldingsnaam en bovenstaande gedefinieerde eigenschappen doorgeven
  • Roep de methode getImageFrame(…) van de klasse ImagingAPI aan om het opgegeven TIFF-frame te verkrijgen
  • Sla ten slotte het uitgepakte frame op de lokale schijf op met behulp van het FileOutputStream-object
// Haal ClientID en ClientSecret op van https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// Imaging-object maken
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// laad de eerste TIFF-afbeelding van het lokale systeem
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// maak een aanvraagobject voor het uploaden van bestanden
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// upload eerste TIFF-afbeelding naar cloudopslag
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// nieuwe breedte en hoogte van uitgepakt frame
Integer newWidth = 400;
Integer newHeight = 600;

// Resultaat om alleen het opgegeven frame op te nemen, niet andere frames
Boolean saveOtherFrames = false;

// Maak een verzoekobject om tiff-frames te extraheren op basis van gespecificeerde details
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// het geëxtraheerde frame wordt geretourneerd in de responsstroom
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Bewaar geëxtraheerd TIFF-frame op lokale opslag
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
formaat van tiff-frame wijzigen

Formaat van TIFF-framevoorbeeld wijzigen

De voorbeeld-TIFF-afbeeldingen die in het bovenstaande voorbeeld zijn gebruikt, kunnen worden gedownload van TiffSampleImage.tiff.

Verklein de afbeeldingsgrootte met behulp van cURL-opdrachten

Dankzij de REST-architectuur van de API is deze ook toegankelijk via cURL-commando’s. Dus in dit gedeelte gaan we de details bespreken over het verkleinen van de afbeeldingsgrootte of het extraheren van tiff-frames met bepaalde afmetingen, met behulp van de cURL-opdrachten. Nu is de eerste stap het genereren van een JWT-toegangstoken (op basis van clientreferenties) met behulp van de volgende opdracht.

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"

Na het genereren van het JWT-token moeten we de volgende opdracht uitvoeren om het formaat van het TIFF-frame te wijzigen.

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

Gevolgtrekking

Dit artikel bevat eenvoudige maar verbazingwekkende details over het wijzigen van het formaat van afbeeldingen (TIFF) met Java. Deze tutorial heeft ook alle stappen uitgelegd om het formaat van een TIFF-frame te wijzigen met behulp van cURL-opdrachten. Houd er rekening mee dat een andere optie om de API-mogelijkheden te testen via SwaggerUI in een webbrowser is. Als u geïnteresseerd bent om de broncode van de SDK te wijzigen, kunt u deze ook downloaden van GitHub, aangezien deze onder MIT-licentie is gepubliceerd.

Desalniettemin is de Productdocumentatie een geweldige bron van informatie om alle nodige details over andere opwindende functies van de API te leren. Als u ten slotte problemen ondervindt tijdens het gebruik van de API, kunt u overwegen ons te benaderen voor een snelle oplossing via het gratis productondersteuningsforum.

gerelateerde artikelen

Bezoek de volgende links voor meer informatie over: