foto dublikatë

Gjeni imazhe të dyfishta duke përdorur Java Cloud SDK

Imazhi JPG është një format popullor për qëllime printimi dhe redaktimi. Për më tepër, është një format i popullarizuar i imazhit për ndarjen e fotove dhe imazheve të tjera në internet dhe midis përdoruesve të celularëve dhe kompjuterëve. Madhësia e vogël e skedarit të imazheve JPG lejon ruajtjen e mijëra imazheve në hapësirë të vogël memorie. Tani pasi kompresimi është me humbje, kjo do të thotë se disa informacione të panevojshme fshihen përgjithmonë. Nga ana tjetër, avantazhi më i madh i PNG ndaj JPEG është se kompresimi është pa humbje, që do të thotë se nuk ka humbje në cilësi sa herë që hapet dhe ruhet përsëri. PNG gjithashtu trajton mirë imazhet e detajuara dhe me kontrast të lartë. Tani në këtë artikull, ne do të diskutojmë detajet se si të konvertohet JPG në PNG duke përdorur Java Cloud SDK

API për konvertimin e imazhit

API-ja jonë e bazuar në REST ofron aftësitë për të krijuar, modifikuar dhe transformuar skedarët e imazhit në një shumëllojshmëri formate skedarësh të mbështetur. Tani për të zbatuar veçorinë për të ngarkuar dhe konvertuar jpg në png transparent në aplikacionin Java, duhet të përdorim Aspose.Imaging Cloud SDK for Java pasi është një mbështjellës rreth Cloud API. Pra, hapi tjetër është të shtoni referencën e tij në projektin java duke përfshirë informacionin e mëposhtëm në pom.xml të projektit të llojit të ndërtimit të 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>

Pasi referenca JDK të jetë shtuar në projekt, hapi tjetër i rëndësishëm është krijimi i një llogarie falas mbi Aspose Cloud Dashboard. Thjesht regjistrohu për një provë falas përmes një adrese të vlefshme emaili. Tani identifikohuni duke përdorur llogarinë e krijuar rishtazi dhe kërkoni/krijoni ID-në e Klientit dhe Sekretin e Klientit në Paneli i Cloud. Këto detaje kërkohen për qëllime vërtetimi në seksionet e mëposhtme.

Konvertoni JPG në PNG në Java

Tani le të diskutojmë detajet se si mund të konvertojmë JPG në PNG duke përdorur fragmentin e kodit Java. Për të kryer konvertimin, ne kemi dy API për të kthyer një imazh në një format tjetër:

GET API pret që ne fillimisht të ngarkojmë një imazh në Cloud Storage dhe më pas të kalojmë emrin e tij në URL-në e API-së. Pas përditësimit të parametrave të imazhit, API kthen imazhin e përditësuar në përgjigje. Nëse dëshironi të ruani imazhin e përditësuar në hapësirën ruajtëse në renë kompjuterike, duhet ta bëni këtë në mënyrë eksplicite siç tregohet në shembujt e mëposhtëm.

Nga ana tjetër, kur telefononi API-në e dytë POST, mund ta kaloni drejtpërdrejt imazhin në trupin e kërkesës. Gjithashtu ju lejon të ruani imazhin e përditësuar në “Cloud Storage” duke specifikuar vlerën e parametrit outPath. Megjithatë, nëse nuk e specifikoni vlerën, përgjigja përmban një imazh të transmetuar.

  • Krijoni një shembull të ImagingApi bazuar në kredencialet tuaja të personalizuara të klientit
  • Lexoni të gjithë skedarët JPG nga një dosje lokale duke përdorur objektin File[]
  • Përsëriteni nëpër skedarë në grup dhe arrini përmbajtjen e imazhit individual në shembullin bajt[]
  • Tani krijoni një objekt të CreateConvertedImageRequest ku ne specifikojmë formatin e imazhit të daljes si PNG
  • Thirrni metodën createConvertedImage(…) e cila ruan JPG si PNG dhe kthen rezultatin si rrjedhë përgjigjeje
  • Në fund ruani skedarin PNG në diskun lokal duke përdorur objektin FileOutputStream
// Merrni ClientID dhe ClientSecret nga https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// krijoni një objekt imazherie
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

File directory = new File("/Users/");
//Merrni të gjithë skedarët nga dosja
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
    throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}

//Vendosni shtesat e kërkuara të imazhit këtu.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");

int counter =0;
//Lista e filtruar e skedarëve të imazhit JPG
List<File> acceptedImages = new ArrayList<>();

// Përsëriteni nëpër çdo skedar imazhi të lexuar nga dosja lokale			 
for (File file : allFiles) {
    //Analizoni shtesën e skedarit
    String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
	
    //Kontrolloni nëse shtesa është e listuar në Extensionet e mbështetura Image
    if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
	//Shtoni imazhin në listën e filtruar
	acceptedImages.add(file);
                  
    // lexoni përmbajtjen e imazhit JPG
    byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
    
    // krijoni kërkesën e konvertimit të imazhit me formatin rezultues si PNG
    CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
    
    // konvertoni JPG në PNG dhe ktheni skedarin rezultues në rrjedhën e përgjigjes
    byte[] exportedImage = imageApi.createConvertedImage(request);
    
    // Ruani imazhin e eksportuar në ruajtjen lokale
    FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
    fos.write(exportedImage);
    fos.close();
    }
}

Ndryshoni JPG në PNG duke përdorur komandat cURL

Duke qenë se ne mund të aksesojmë API-të REST duke përdorur komandat cURL, kështu që në këtë seksion, ne po eksplorojmë detajet për të kthyer JPG në PNG transparente. Tani si një parakusht, ne duhet së pari të gjenerojmë një shenjë hyrjeje JWT (bazuar në kredencialet e klientit) ndërsa ekzekutojmë komandën e mëposhtme.

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"

Tani do të përdorim thirrjen ConvertImage API, ajo pret që hyrja JPG të jetë tashmë e disponueshme në ruajtjen e cloud. Tani ju lutemi ekzekutoni komandën e mëposhtme për të ndryshuar JPG në PNG.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/convert?format=PNG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.png

konkluzioni

Ky artikull ka dhënë disa detaje të mahnitshme se si mund të konvertojmë JPG në PNG duke përdorur një copë kodi Java. Në mënyrë të ngjashme, ne kemi diskutuar gjithashtu hapat për të kthyer JPG në PNG transparente duke përdorur komandat cURL. Ju lutemi vini re se Product Documentation është një vend i mrekullueshëm për të mësuar rreth veçorive të tjera emocionuese që ofrohen nga API. Në rast se ju duhet të provoni këto API brenda shfletuesit, ju lutemi provoni të përdorni Swagger API Reference.

E parafundit, ju lutemi vini re se të gjitha SDK-të tona të resë kompjuterike janë publikuar nën licencën MIT, kështu që mund të merrni parasysh shkarkimin e kodit të plotë burimor nga GitHub dhe ta modifikoni atë sipas kërkesave tuaja. Së fundi, nëse hasni ndonjë problem gjatë përdorimit të API-së, mund të konsideroni të na kontaktoni për një zgjidhje të shpejtë nëpërmjet forumit të mbështetjes së produktit falas.

Artikuj të ngjashëm

Ju lutemi vizitoni lidhjet e mëposhtme për të mësuar më shumë rreth: