Дар ин дастур, мо ба шумо нишон медиҳем, ки чӣ тавр Java-ро барои табдил додани форматҳои JPG, PNG, JPEG ва GIF ба WebP истифода бурдан мумкин аст. Раванд содда ва содда аст ва метавонад ба осонӣ ба замимаи мавҷудаи Java ворид карда шавад. Новобаста аз он ки ба шумо лозим аст, ки як тасвири ягонаро табдил диҳед ё коркарди якчанд тасвирҳо, дастури мо ба осонӣ табдил додани JPG ба WebP, PNG ба WebP, JPEG ба WebP ва GIF ба WebPро осон мекунад.
Мо медонем, ки тасвирҳои JPEG хеле фишурдашаванда, хеле сайёр ва қариб бо ҳама дастгоҳҳо мувофиқанд. Инчунин, тасвирҳои JPEG-и баландсифат зинда ва рангинанд. Ба ҳамин монанд, фишурдакунӣ дар PNG бе талафот аст ва он барои тасвирҳои муфассал ва контрасти баланд хуб аст. Бо вуҷуди ин, формати WebP аз ҷониби Google таҳия шудааст ва формати маъмули муосири тасвир мебошад, ки фишурдани беҳтарини бе талаф ва талафотро барои тасвирҳо дар веб таъмин мекунад. Он одатан нисбат ба JPG, PNG ва ғайра хеле хурдтар (25%-34%) ва аз ин рӯ вебсайтҳо тезтар бор мекунанд. Акнун биёед тафсилотро дар бораи чӣ гуна табдил додани JPG ба WebP дар Java омӯхта метавонем.
- JPG ба WebP REST API
- Табдил додани JPG ба WebP дар Java
- PNG ба WebP дар Java
- GIF ба WebP бо истифода аз фармонҳои cURL
JPG ба WebP REST API
Aspose.Imaging Cloud SDK for Java яке аз беҳтарин ҳалли мост, ки қобилиятҳои коркарди боэътимоди тасвир ва табдили тасвирро пешниҳод мекунад. Бо истифода аз хатҳои оддии кодҳо дар барномаи Java-и худ қобилиятҳои коркарди тасвирҳоро таъмин кунед (таҳрир ва табдил диҳед). API қодир аст тасвирҳои растрӣ, файлҳои Photoshop, метафайлҳо ва формати WebP-ро коркард кунад. Ҳоло тибқи доираи ин мақола, мо онро барои табдил додани jpg ба webp дар барномаи Java истифода мебарем. Ҳоло қадами аввал ин илова кардани истинод ба API дар лоиҳаи java мо тавассути дохил кардани иттилооти зерин дар pom.xml (лоиҳаи сохти навъи maven) мебошад.
<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>
Пас аз он ки истинод ба REST API дар лоиҳаи Java илова карда шуд, лутфан маълумоти муштарии худро аз Cloud Dashboard гиред. Дар акси ҳол, шумо бояд аввал ҳисоби ройгонро ҳангоми истифодаи суроғаи почтаи электронии дуруст сабт кунед.
Табдил додани JPG ба WebP дар Java
Дар ин бахш мо тамоми тафсилоти марбут ба табдили JPG ба WebP бо истифода аз порчаи коди Java муҳокима хоҳем кард.
- Аввалан, объекти ImagingApi бо истифода аз эътимодномаҳои фардӣ эҷод кунед
- Сониян, тасвири JPG-ро бо усули readAllBytes(…) бор кунед ва арзиши баргардонидашударо ба массиви байт [] интиқол диҳед
- Сеюм, як мисоли UploadFileRequestро бо пешниҳоди тасвири JPEG ҳамчун далел эҷод кунед ва онро бо усули uploadFile(…) ба анбори абр бор кунед.
- Акнун объекти ConvertImageRequest эҷод кунед, ки номи тасвири JPEG ва формати “webp” -ро ҳамчун аргумент мегирад
- Усули convertImage(…)-ро даъват кунед, то табдили JPG ба WebP иҷро кунед. Пас аз он натиҷа ҳамчун ҷараёни посух баргардонида мешавад
- Ниҳоят, WebP-ро дар гардонандаи маҳаллӣ бо истифода аз объекти FileOutputStream захира кунед
// ClientID ва ClientSecret -ро аз https://dashboard.aspose.cloud/ гиред
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// эҷод кардани объекти тасвирӣ
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// тасвири JPEG-и вурудро аз гардонандаи маҳаллӣ бор кунед
File file1 = new File("butterfly-yellow.jpeg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// объекти дархости боркунии файл эҷод кунед
UploadFileRequest uploadRequest = new UploadFileRequest("input.jpg",imageStream,null);
// тасвири jpg -ро ба нигаҳдории абр бор кунед
imageApi.uploadFile(uploadRequest);
// формати баромадро ҳамчун WebP муайян кунед
String format = "webp";
// Эҷоди объекти дархости табдили тасвир
ConvertImageRequest convertImage = new ConvertImageRequest("input.jpg", format, null, null);
// JPG-ро ба WebP табдил диҳед ва натиҷаро дар ҷараёни посух баргардонед
byte[] resultantImage = imageApi.convertImage(convertImage);
// WebP-ро дар диски маҳаллӣ захира кунед
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
PNG ба WebP дар Java
Биёед тафсилотро муҳокима кунем, ки чӣ гуна мо метавонем табдили PNG-ро ба WebP бидуни истифодаи нигаҳдории абр иҷро кунем. Тасвири манбаъ аз диски маҳаллӣ бор карда мешавад ва пас аз табдилдиҳӣ, файли натиҷавӣ инчунин дар диски сахти маҳаллӣ нигоҳ дошта мешавад.
- Аввалан, объекти ImagingApi бо истифода аз эътимодномаҳои фардӣ эҷод кунед
- Сониян, тасвири PNG-ро бо усули readAllBytes(…) бор кунед ва ба массиви байт[] гузаред
- Сеюм, объекти CreateConvertedImageRequest эҷод кунед, ки номи тасвири PNG ва формати webp-ро ҳамчун аргумент мегирад.
- Акнун ба усули createConvertedImage(…) занг занед, то табдили PNG-ро ба WebP иҷро кунед. Натиҷа ҳамчун ҷараёни посух баргардонида мешавад
- Дар ниҳоят, бо истифода аз объекти FileOutputStream WenP-ро дар диски маҳаллӣ захира кунед
// ClientID ва ClientSecret -ро аз https://dashboard.aspose.cloud/ гиред
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// эҷод кардани объекти тасвирӣ
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// тасвири PNG-ро аз диски маҳаллӣ бор кунед
File file1 = new File("source.png");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// формати баромадро ҳамчун WebP муайян кунед
String format = "webp";
// Эҷоди объекти дархости табдили тасвир
CreateConvertedImageRequest convertRequest = new CreateConvertedImageRequest(imageStream,format,null,null);
// PNG-ро ба WebP табдил диҳед ва натиҷаро дар ҷараёни посух баргардонед
byte[] resultantImage = imageApi.createConvertedImage(convertRequest);
// WebP-ро дар диски маҳаллӣ захира кунед
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
Эзоҳ: - Барои захира кардани WebP-и натиҷавӣ дар нигаҳдории абр, ҳангоми сохтани объекти CreateConvertedImageRequest тафсилоти роҳи WebP-ро гузаронед. Дар ин равиш, қадами охирин барои нигоҳ доштани ҷараёни баромад ба диски маҳаллӣ гузаронида мешавад.
GIF ба WebP бо истифода аз фармонҳои cURL
Ба ғайр аз рамзи Java, ба REST API низ тавассути фармонҳои cURL дастрас шудан мумкин аст. Ҳамин тавр, дар ин бахш мо бо истифода аз фармонҳои cURL табдилдиҳии GIF ба WebPро иҷро мекунем. Ҳоло шарти пешакӣ тавлид кардани аломати дастрасии JWT (дар асоси маълумоти муштарӣ) бо истифода аз фармони зерин мебошад.
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"
Пас аз тавлиди JWT, лутфан фармони зеринро иҷро кунед, то табдили GIF ба WebPро иҷро кунед ва натиҷаро ба диски маҳаллӣ захира кунед
curl -X -v GET "https://api.aspose.cloud/v3.0/imaging/UpdateGIFSampleImage.gif/convert?format=webp" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT>" \
-o "output.webp"
Хулоса
Дар мақола ҳама тафсилоти зарурӣ оид ба табдил додани JPG ба WebP, PNG ба WebP ва GIF ба WebP бо истифода аз Java оварда шудааст. Ҳамзамон, мо инчунин қадамҳои табдил додани GIF-ро ба WebP бо истифода аз фармонҳои cURL омӯхтем. Лутфан бифаҳмед, ки мо шуморо хеле ташвиқ мекунем, ки Ҳуҷҷатҳои маҳсулот-ро омӯзед, ки манбаи аҷиби иттилоот аст. Он шуморо дар бораи дигар хусусиятҳои ҷолибе, ки ҳоло REST API пешниҳод мекунанд, равшан мекунад.
Ғайр аз он, шумо инчунин метавонед озмоиши хусусиятҳои API-ро тавассути SwaggerUI (дар дохили браузери веб) баррасӣ кунед ва агар ба шумо лозим аст, ки рамзи сарчашмаро зеркашӣ ва тағир диҳед, онро аз GitHub дастрас кардан мумкин аст (нашри он тибқи иҷозатномаи MIT). Ниҳоят, агар шумо ҳангоми истифодаи API бо ягон мушкилот рӯ ба рӯ шавед, лутфан бо мо барои ҳалли зуд тавассути форуми дастгирии маҳсулот дар тамос шавед.
Мақолаҳои марбут
Лутфан ба истиноди зерин муроҷиат кунед, то дар бораи маълумоти бештар маълумот гиред: