kuvan kaksoiskappale

Etsi päällekkäisiä kuvia Java Cloud SDK:n avulla

JPG-kuva on suosittu tulostus- ja muokkausmuoto. Lisäksi se on suosittu kuvamuoto valokuvien ja muiden kuvien jakamiseen Internetissä sekä mobiili- ja PC-käyttäjien välillä. JPG-kuvien pieni tiedostokoko mahdollistaa tuhansien kuvien tallentamisen pieneen muistitilaan. Nyt kun pakkaus on häviöllinen, se tarkoittaa, että tietyt tarpeettomat tiedot poistetaan pysyvästi. Toisaalta PNG:n suurin etu JPEGiin verrattuna on, että pakkaus on häviötön, mikä tarkoittaa, että laatu ei heikkene joka kerta, kun se avataan ja tallennetaan uudelleen. PNG käsittelee myös yksityiskohtaisia, suuren kontrastin kuvia hyvin. Nyt tässä artikkelissa aiomme keskustella yksityiskohdista JPG muuntamisesta PNG: ksi Java Cloud SDK:n avulla.

Image Conversion API

REST-pohjainen API tarjoaa mahdollisuuden luoda, muokata ja muuntaa kuvatiedostoja useisiin tuetuihin tiedostomuotoihin. Jotta voimme nyt ottaa käyttöön ominaisuuden ladata ja muuntaa jpg:n läpinäkyväksi png-muotoon Java-sovelluksessa, meidän on käytettävä Aspose.Imaging Cloud SDK for Java, koska se on Cloud API -sovellusliittymä. Joten seuraava askel on lisätä sen viite Java-projektiin sisällyttämällä seuraavat tiedot maven build -tyyppisen projektin pom.xml-tiedostoon.

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

Kun JDK-viittaus on lisätty projektiin, seuraava tärkeä vaihe on luoda ilmainen tili Aspose Cloud Dashboardin kautta. Rekisteröidy vain ilmaiseen kokeilujaksoon kelvollisen sähköpostiosoitteen kautta. Kirjaudu nyt sisään äskettäin luodulla tilillä ja etsi/luo asiakastunnus ja asiakassalaisuus Cloud Dashboardissa. Näitä tietoja tarvitaan todennustarkoituksiin seuraavissa osissa.

Muunna JPG PNG: ksi Javassa

Nyt keskustellaan yksityiskohdista siitä, kuinka voimme muuntaa JPG: ksi PNG: ksi Java-koodinpätkän avulla. Muuntamisen suorittamiseksi meillä on kaksi sovellusliittymää kuvan muuntamiseksi toiseen muotoon:

GET-sovellusliittymä odottaa meidän lataavan ensin kuvan Cloud Storageen ja välittävän sen nimen API-URL-osoitteeseen. Kuvaparametrien päivityksen jälkeen API palauttaa päivitetyn kuvan vastauksessa. Jos haluat tallentaa päivitetyn kuvan Cloud Storageen, sinun on tehtävä se nimenomaisesti alla olevien esimerkkien mukaisesti.

Toisaalta, kun kutsut toista POST API:ta, voit välittää kuvan suoraan pyynnön rungossa. Sen avulla voit myös tallentaa päivitetyn kuvan Cloud Storageen määrittämällä outPath-parametrin arvon. Jos et kuitenkaan määritä arvoa, vastaus sisältää suoratoistokuvan.

  • Luo ImagingApi-esiintymä henkilökohtaisten asiakastietojesi perusteella
  • Lue kaikki JPG-tiedostot paikallisesta kansiosta File[]-objektin avulla
  • Iteroi taulukon tiedostot ja saavuta yksittäisen kuvan sisältö tavu[]-instanssiin
  • Luo nyt CreateConvertedImageRequest-objekti, jossa määritämme tulostekuvamuodoksi PNG
  • Kutsu metodia createConvertedImage(…), joka tallentaa JPG:n PNG-muodossa ja palauttaa tuloksen vastausvirtana
  • Tallenna lopuksi PNG-tiedosto paikalliselle asemalle FileOutputStream-objektin avulla
// Hanki ClientID ja ClientSecret osoitteesta https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// luoda kuvantamisobjektia
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

File directory = new File("/Users/");
//Hae kaikki tiedostot kansiosta
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
    throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}

//Aseta tarvittavat kuvalaajennukset tästä.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");

int counter =0;
//Suodatettu luettelo JPG-kuvatiedostoista
List<File> acceptedImages = new ArrayList<>();

// Iteroi jokaisen paikallisesta kansiosta luetun kuvatiedoston läpi			 
for (File file : allFiles) {
    //Jäsennä tiedostopääte
    String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
	
    //Tarkista, onko laajennus lueteltu tuetuissaImageExtensions-luettelossa
    if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
	//Lisää kuva suodatettuun luetteloon
	acceptedImages.add(file);
                  
    // lukea JPG-kuvasisältöä
    byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
    
    // Luo kuvan muunnospyyntö tuloksena olevalla PNG-muodolla
    CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
    
    // muuntaa JPG PNG-muotoon ja palauttaa tuloksena olevan tiedoston vastausvirtaan
    byte[] exportedImage = imageApi.createConvertedImage(request);
    
    // Tallenna viety kuva paikalliseen tallennustilaan
    FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
    fos.write(exportedImage);
    fos.close();
    }
}

Muuta JPG PNG:ksi käyttämällä cURL-komentoja

Koska voimme käyttää REST-sovellusliittymiä cURL-komentojen avulla, tässä osiossa tutkimme yksityiskohtia JPG:n muuntamiseksi läpinäkyväksi PNG-muotoon. Nyt ennakkoedellytyksenä meidän on ensin luotava JWT-käyttöoikeustunnus (perustuu asiakkaan tunnistetietoihin) samalla kun suoritamme seuraavan komennon.

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"

Nyt aiomme käyttää ConvertImage API -kutsua, se odottaa syötettävän JPG:n olevan jo saatavilla pilvitallennustilassa. Suorita nyt seuraava komento muuttaaksesi JPG PNG: ksi.

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

Johtopäätös

Tämä artikkeli on tarjonnut hämmästyttäviä yksityiskohtia siitä, kuinka voimme muuntaa JPG: ksi PNG: ksi Java-koodinpätkän avulla. Samoin olemme keskustelleet myös vaiheista, joilla JPG muunnetaan läpinäkyväksi PNG-muotoon käyttämällä cURL-komentoja. Huomaa, että Tuotedokumentaatio on loistava paikka oppia muista API:n tarjoamista jännittävistä ominaisuuksista. Jos sinun täytyy kokeilla näitä sovellusliittymiä selaimessa, kokeile käyttää swagger API Reference.

Toiseksi viimeinen, huomaa, että kaikki Cloud SDK:t on julkaistu MIT-lisenssillä, joten voit ladata täydellisen lähdekoodin GitHubista ja muokata sitä tarpeidesi mukaan. Lopuksi, jos kohtaat ongelmia API:n käytössä, voit harkita ottamista meihin nopean ratkaisun saamiseksi ilmaisen tuotetukikeskusteluryhmän kautta.

Aiheeseen liittyvät artikkelit

Saat lisätietoja seuraavista linkeistä: