A JPG kép egy népszerű formátum nyomtatási és szerkesztési célokra. Ezen túlmenően, ez egy népszerű képformátum fotók és egyéb képek megosztására az interneten, valamint a mobil- és számítógép-felhasználók között. A JPG képek kis fájlmérete lehetővé teszi több ezer kép tárolását kis memóriaterületen. Most, hogy a tömörítés veszteséges, ez azt jelenti, hogy bizonyos szükségtelen információk véglegesen törlődnek. Másrészt a PNG legnagyobb előnye a JPEG-hez képest az, hogy a tömörítés veszteségmentes, vagyis nem romlik a minőség minden alkalommal, amikor újra megnyitják és elmentik. A PNG a részletgazdag, nagy kontrasztú képeket is jól kezeli. Ebben a cikkben megvitatjuk annak részleteit, hogyan lehet JPG-t PNG-be konvertálni a Java Cloud SDK használatával.
- Képkonverziós API
- JPG konvertálása PNG-be Java nyelven
- Változtassa meg a JPG-t PNG-re a cURL parancsokkal
Képkonverziós API
A REST alapú API-nk lehetőséget kínál képfájlok létrehozására, szerkesztésére és különféle támogatott fájlformátumokra történő átalakítására. Most annak érdekében, hogy megvalósíthassuk a jpg-fájlok betöltését és png-transzparenssé konvertálását a Java alkalmazásban, az Aspose.Imaging Cloud SDK for Java-t kell használnunk, mivel ez a Cloud API körüli burkolóanyag. Tehát a következő lépés az, hogy hozzáadjuk a hivatkozást a java projekthez az alábbi információk megadásával a maven build típusú projekt pom.xml fájljában.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
Miután a JDK hivatkozást hozzáadta a projekthez, a következő fontos lépés egy ingyenes fiók létrehozása az Aspose Cloud Dashboard felett. Egyszerűen regisztráljon egy ingyenes próbaverzióra érvényes e-mail címen. Most jelentkezzen be az újonnan létrehozott fiókkal, és keresse meg/hozza létre az ügyfél-azonosítót és az ügyféltitkot a Cloud Dashboard oldalon. Ezek az adatok hitelesítési célból szükségesek a következő szakaszokban.
JPG konvertálása PNG-be Java nyelven
Most beszéljük meg annak részleteit, hogyan konvertálhatunk JPG-t PNG-be Java kódrészlet segítségével. Az átalakítás végrehajtásához két API-val tudunk konvertálni egy képet más formátumba:
A GET API elvárja, hogy először töltsünk fel egy képet a Cloud Storage szolgáltatásba, majd adjuk át a nevét az API URL-ben. A képparaméterek frissítése után az API a frissített képet adja vissza a válaszban. Ha a frissített képet a Cloud Storage-ra szeretné menteni, ezt kifejezetten meg kell tennie az alábbi példákban látható módon.
Másrészt a második POST API meghívásakor közvetlenül átadhatja a képet a kérés törzsében. Azt is lehetővé teszi, hogy a frissített képfájlt a Cloud Storage-ra mentse az outPath paraméter értékének megadásával. Ha azonban nem adja meg az értéket, a válasz streamelt képet tartalmaz.
- Hozzon létre egy ImagingApi példányt személyre szabott ügyfél-hitelesítő adatai alapján
- Olvassa el az összes JPG fájlt a helyi mappából a File[] objektum segítségével
- Iterálhat a tömbben lévő fájlok között, és elérheti az egyes képek tartalmát byte[] példányban
- Most hozzon létre egy CreateConvertedImageRequest objektumot, ahol a kimeneti képformátumot PNG-ként adjuk meg
- Hívja meg a createConvertedImage(…) metódust, amely a JPG-t PNG formátumban menti, és az eredményt válaszfolyamként adja vissza
- Végül mentse a PNG-fájlt a helyi meghajtóra a FileOutputStream objektum segítségével
// Szerezze be a ClientID-t és a ClientSecret-et a https://dashboard.aspose.cloud/ webhelyről
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// hozzon létre képalkotó objektumot
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
File directory = new File("/Users/");
//Szerezze be az összes fájlt a mappából
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}
//Itt állítsa be a szükséges képkiterjesztéseket.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");
int counter =0;
//JPG képfájlok szűrt listája
List<File> acceptedImages = new ArrayList<>();
// Ismételje meg a helyi mappából olvasott képfájlokat
for (File file : allFiles) {
//Elemezze a fájl kiterjesztését
String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
//Ellenőrizze, hogy a bővítmény szerepel-e a támogatottImageExtensions listában
if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
//Adja hozzá a képet a szűrt listához
acceptedImages.add(file);
// olvassa el a JPG képtartalmat
byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
// hozzon létre képátalakítási kérelmet a kapott formátummal PNG formátumban
CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
// konvertálja a JPG-t PNG-be, és adja vissza az eredményül kapott fájlt a válaszfolyamban
byte[] exportedImage = imageApi.createConvertedImage(request);
// Mentse az exportált képet a helyi tárhelyre
FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
fos.write(exportedImage);
fos.close();
}
}
Változtassa meg a JPG-t PNG-re a cURL parancsokkal
Mivel a REST API-kat cURL-parancsokkal érhetjük el, ezért ebben a részben a JPG átlátszóvá alakításának részleteit vizsgáljuk meg. Most előfeltételként először létre kell hoznunk egy JWT hozzáférési tokent (az ügyfél hitelesítő adatai alapján), miközben végrehajtjuk a következő parancsot.
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"
Most a ConvertImage API-hívást fogjuk használni, amely arra számít, hogy a bemeneti JPG már elérhető lesz a felhőtárolóban. Most hajtsa végre a következő parancsot a JPG PNG-re való módosításához.
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
Következtetés
Ez a cikk elképesztő részleteket tartalmaz arról, hogyan konvertálhatjuk a JPG-t PNG-be Java kódrészlet segítségével. Hasonlóképpen megvitattuk azokat a lépéseket is, amelyekkel a JPG-t átlátszó PNG-vé alakíthatjuk a cURL parancsok segítségével. Felhívjuk figyelmét, hogy a Termékdokumentáció egy csodálatos hely az API által kínált egyéb izgalmas funkciók megismeréséhez. Ha böngészőn belül szeretné kipróbálni ezeket az API-kat, próbálja meg a swagger API Reference használatával.
Utolsó előtti, kérjük, vegye figyelembe, hogy az összes Cloud SDK-nk MIT-licenc alatt van közzétéve, ezért fontolóra veheti a teljes forráskód letöltését a GitHub oldalról, és az igényei szerint módosíthatja. Végül, ha bármilyen problémát észlel az API használata során, megfontolhatja, hogy felkeressen minket egy ingyenes terméktámogatási fórumon keresztüli gyors megoldás érdekében.
kapcsolódó cikkek
Kérjük, látogasson el az alábbi linkekre, ha többet szeretne megtudni erről: