nuotraukos dublikatas

Raskite pasikartojančius vaizdus naudodami „Java Cloud SDK“.

JPG vaizdas yra populiarus spausdinimo ir redagavimo formatas. Be to, tai populiarus vaizdo formatas, skirtas dalytis nuotraukomis ir kitais vaizdais internete bei tarp mobiliųjų ir kompiuterių vartotojų. Mažas JPG vaizdų failo dydis leidžia saugoti tūkstančius vaizdų mažoje atminties vietoje. Dabar, kai suspaudimas yra nuostolingas, tai reiškia, kad tam tikra nereikalinga informacija yra visam laikui ištrinta. Kita vertus, didžiausias PNG pranašumas, palyginti su JPEG, yra tai, kad glaudinimas yra be nuostolių, o tai reiškia, kad kiekvieną kartą atidarius ir vėl išsaugant kokybė neprarandama. PNG taip pat gerai tvarko detalius, didelio kontrasto vaizdus. Dabar šiame straipsnyje aptarsime išsamią informaciją apie tai, kaip konvertuoti JPG į PNG naudojant Java Cloud SDK

Vaizdo konvertavimo API

Mūsų REST pagrįsta API suteikia galimybę kurti, redaguoti ir transformuoti vaizdo failus į įvairius palaikomus failų formatus. Dabar, kad galėtume įdiegti jpg įkėlimo ir konvertavimo į png skaidrią funkciją Java programoje, turime naudoti Aspose.Imaging Cloud SDK for Java, nes tai yra debesies API įvyniojimas. Taigi kitas žingsnis yra įtraukti jo nuorodą į „Java“ projektą įtraukiant šią informaciją į „maven build“ tipo projekto pom.xml.

<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>

Kai JDK nuoroda bus įtraukta į projektą, kitas svarbus žingsnis yra sukurti nemokamą paskyrą per Aspose Cloud Dashboard. Tiesiog užsiregistruokite nemokamam bandomajam laikotarpiui naudodami galiojantį el. pašto adresą. Dabar prisijunkite naudodami naujai sukurtą paskyrą ir Cloud Dashboard ieškokite / sukurkite kliento ID ir kliento paslaptį. Ši informacija reikalinga autentifikavimo tikslais tolesniuose skyriuose.

Konvertuoti JPG į PNG Java

Dabar aptarkime, kaip JPG konvertuoti į PNG naudojant Java kodo fragmentą. Kad galėtume atlikti konversiją, turime dvi API, kurios konvertuoja vaizdą į kitą formatą:

GET API tikisi, kad pirmiausia įkelsime vaizdą į „Cloud Storage“, tada perduosime jo pavadinimą API URL. Atnaujinus vaizdo parametrus, API atsakyme pateikia atnaujintą vaizdą. Jei norite išsaugoti atnaujintą vaizdą debesies saugykloje, turite tai padaryti, kaip parodyta toliau pateiktuose pavyzdžiuose.

Kita vertus, iškviečiant antrąją POST API, galite tiesiogiai perduoti vaizdą į užklausos turinį. Tai taip pat leidžia įrašyti atnaujintą vaizdą debesies saugykloje, nurodant parametro outPath reikšmę. Tačiau, jei nenurodysite reikšmės, atsakyme bus srautinis vaizdas.

  • Sukurkite „ImagingApi“ egzempliorių pagal suasmenintus kliento kredencialus
  • Skaitykite visus JPG failus iš vietinio aplanko naudodami failą []
  • Pakartokite failus masyve ir pasiekite atskiro vaizdo turinį į baitų [] egzempliorių
  • Dabar sukurkite CreateConvertedImageRequest objektą, kuriame nurodome išvesties vaizdo formatą kaip PNG
  • Iškvieskite metodą createConvertedImage(…), kuris išsaugo JPG kaip PNG ir pateikia rezultatą kaip atsako srautą
  • Galiausiai išsaugokite PNG failą vietiniame diske naudodami objektą FileOutputStream
// Gaukite ClientID ir ClientSecret iš https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// sukurti vaizdo objektą
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

File directory = new File("/Users/");
//Gaukite visus failus iš aplanko
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
    throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}

//Čia nustatykite reikiamus vaizdo plėtinius.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");

int counter =0;
//Filtruotas JPG vaizdo failų sąrašas
List<File> acceptedImages = new ArrayList<>();

// Pakartokite kiekvieną vaizdo failą, nuskaitytą iš vietinio aplanko			 
for (File file : allFiles) {
    //Išanalizuoti failo plėtinį
    String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
	
    //Patikrinkite, ar plėtinys įtrauktas į palaikomų vaizdo plėtinių sąrašą
    if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
	//Pridėkite vaizdą į filtruotą sąrašą
	acceptedImages.add(file);
                  
    // skaityti JPG vaizdo turinį
    byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
    
    // sukurti vaizdo konvertavimo užklausą gautu formatu kaip PNG
    CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
    
    // konvertuoti JPG į PNG ir grąžinti gautą failą atsakymo sraute
    byte[] exportedImage = imageApi.createConvertedImage(request);
    
    // Išsaugokite eksportuotą vaizdą vietinėje saugykloje
    FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
    fos.write(exportedImage);
    fos.close();
    }
}

Pakeiskite JPG į PNG naudodami cURL komandas

Kadangi REST API galime pasiekti naudodami cURL komandas, todėl šiame skyriuje nagrinėjame detales, kaip JPG konvertuoti į skaidrų PNG. Dabar kaip būtina sąlyga, vykdydami šią komandą, pirmiausia turime sugeneruoti JWT prieigos raktą (pagal kliento kredencialus).

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"

Dabar ketiname naudoti „ConvertImage“ API skambutį, tikimasi, kad įvesties JPG jau bus pasiekiama debesies saugykloje. Dabar vykdykite šią komandą, kad pakeistumėte JPG į 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

Išvada

Šiame straipsnyje pateikiama keletas nuostabių detalių, kaip galime konvertuoti JPG į PNG naudodami Java kodo fragmentą. Panašiai mes taip pat aptarėme veiksmus, kaip konvertuoti JPG į PNG skaidrų naudojant cURL komandas. Atminkite, kad Produkto dokumentacija yra nuostabi vieta sužinoti apie kitas įdomias API siūlomas funkcijas. Jei jums reikia išbandyti šias API naršyklėje, pabandykite naudoti swagger API nuorodą.

Priešpaskutinė, atminkite, kad visi mūsų debesies SDK yra paskelbti pagal MIT licenciją, todėl galite apsvarstyti galimybę atsisiųsti visą šaltinio kodą iš GitHub ir pakeisti jį pagal savo poreikius. Galiausiai, jei naudodamiesi API susiduriate su problemomis, galite susisiekti su mumis ir greitai išspręsti problemą per nemokamą produkto palaikymo forumą.

susiję straipsniai

Norėdami sužinoti daugiau apie tai, apsilankykite šiose nuorodose: