ændre størrelse på billede

Ændr størrelse på TIFF-billede ved hjælp af Java

En af de fremtrædende egenskaber ved TIFF-filer er dens evne til at gemme flere billeder (hver har flere kanaler) som sekventielle billeder i en tidsstak eller z-stak af billeder. Nu i denne artikel skal vi forklare trinene til at udtrække en TIFF-ramme, ændre størrelsen på den og gemme den separat på et lager. Online-operationen til at ændre størrelse på billedet tager højde for nye dimensioner (bredde og højde), mens den gemmer den opdaterede TIFF-ramme.

Ændr størrelse på billed-API

Aspose.Imaging Cloud SDK til Java er vores REST-baserede løsning, der gør det muligt for dig at programmere at redigere, manipulere og transformere rasterbilleder, metafiler og Photoshop til en række forskellige Understøttede formater. Det tilbyder også funktionen til at manipulere TIFF-billeder, hvor vi endda kan arbejde på individuelle TIFF-rammer. Nu, for at komme i gang med SDK-udnyttelsen, skal vi tilføje dens reference i et Java-projekt. Så tilføj venligst følgende detaljer i pom.xml af 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>

Det næste trin er at få klientoplysningerne fra Cloud Dashboard, og hvis du ikke har en konto over Aspose Cloud Dashboard, skal du oprette en gratis konto med en gyldig e-mailadresse.

Ændre størrelse på billede online i Java

I dette afsnit skal vi bruge GetImageFrame API til at udvikle vores TIFF-billedresizer. Vi vil også uploade billedet til skylageret, og efter opdatering af billedparametrene, returneres det ændrede billede som svarstrøm. Bemærk venligst, at API’en giver dig mulighed for at ændre størrelsen på billeder i massevis eller kun ændre størrelsen på en specifik TIFF-ramme ved hjælp af parameteren saveOtherFrames.

  • For det første skal du oprette et objekt af ImagingApi ved hjælp af personlige klientoplysninger
  • For det andet skal du læse indholdet af det første TIFF-billede ved hjælp af readAllBytes(…)-metoden og returnere det til byte[]-array
  • For det tredje skal du oprette en forekomst af klassen UploadFileRequest, hvor vi videregiver navnet på TIFF-billedet
  • Upload nu det første TIFF-billede til skylageret ved hjælp af uploadFile(…)-metoden
  • Det næste trin er at specificere TIFF-rammeindekset, nye højde- og breddedimensioner og særligt tiff-rammeindeks
  • Opret nu et objekt af GetImageFrameRequest, hvor vi videregiver input TIFF-billednavnet og ovenfor definerede egenskaber
  • Kald getImageFrame(…)-metoden for ImagingAPI-klassen for at få den angivne TIFF-ramme
  • Gem til sidst den udpakkede ramme på det lokale drev ved hjælp af FileOutputStream-objektet
// Hent ClientID og ClientSecret fra https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// oprette billedobjekt
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// indlæs det første TIFF-billede fra det lokale system
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// oprette fil upload anmodning objekt
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// upload det første TIFF-billede til skylageret
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// ny bredde og højde på udtrukket ramme
Integer newWidth = 400;
Integer newHeight = 600;

// Resultat for kun at inkludere den angivne ramme og ikke andre rammer
Boolean saveOtherFrames = false;

// Opret et anmodningsobjekt for at udtrække tiff-rammer baseret på specificerede detaljer
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// den udtrukne ramme returneres som svarstrøm
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Gem udtrukket TIFF-ramme på lokal lagring
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
ændre størrelse på tiff-ramme

Ændr størrelse på TIFF Frame Preview

De eksempler på TIFF-billeder, der er brugt i ovenstående eksempel, kan downloades fra TiffSampleImage.tiff.

Reducer billedstørrelsen ved hjælp af cURL-kommandoer

På grund af API’ens REST-arkitektur kan den også tilgås via cURL-kommandoer. Så i dette afsnit skal vi diskutere detaljerne om, hvordan man reducerer billedstørrelsen eller udtrækker tiff-ramme med bestemte dimensioner ved hjælp af cURL-kommandoerne. Nu er det første trin at generere et JWT-adgangstoken (baseret på klientlegitimationsoplysninger) ved hjælp af følgende 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"

Efter JWT-tokengenereringen skal vi udføre følgende kommando for at ændre størrelsen på TIFF-rammen.

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

Konklusion

Denne artikel har givet enkle, men fantastiske detaljer om, hvordan man ændrer størrelse på billede (TIFF) ved hjælp af Java. Denne vejledning har også forklaret alle trinene til at ændre størrelsen på TIFF-ramme ved hjælp af cURL-kommandoer. Bemærk venligst, at en anden mulighed for at teste API-funktionerne er via SwaggerUI i en webbrowser. Hvis du også er interesseret i at ændre kildekoden til SDK’et, kan den downloades fra GitHub, da den er udgivet under MIT-licens.

Ikke desto mindre er Produktdokumentation en fantastisk kilde til information til at lære alle de nødvendige detaljer om andre spændende funktioner i API’en. Til sidst, hvis du støder på problemer, mens du bruger API’en, kan du overveje at kontakte os for en hurtig løsning via det gratis produktsupportforum.

relaterede artikler

Besøg venligst følgende links for at lære mere om: