Այս ուղեցույցում մենք ձեզ ցույց կտանք, թե ինչպես օգտագործել Java-ը՝ JPG, PNG, JPEG և GIF պատկերների ձևաչափերը WebP փոխարկելու համար: Գործընթացը պարզ է և պարզ և կարող է հեշտությամբ ինտեգրվել ձեր գոյություն ունեցող Java հավելվածին: Անկախ նրանից, թե դուք պետք է փոխարկեք մեկ պատկեր կամ խմբաքանակով մշակեք բազմաթիվ պատկերներ, մեր ուղեցույցը հեշտացնում է JPG-ը WebP-ի, PNG-ը WebP-ի, JPEG-ը WebP-ի և GIF-ը WebP-ի հեշտությամբ փոխարկելը:
Մենք գիտենք, որ JPEG պատկերները շատ սեղմելի են, բավականին շարժական և համատեղելի գրեթե բոլոր սարքերի հետ: Բացի այդ, բարձր լուծաչափով JPEG պատկերները վառ են և գունեղ: Նմանապես, PNG-ում սեղմումն անկորուստ է և լավ է մանրամասն, բարձր կոնտրաստ պատկերների համար: Այնուամենայնիվ, WebP ձևաչափը մշակվել է Google-ի կողմից և ժամանակակից պատկերի հանրաճանաչ ձևաչափ է, որն ապահովում է համացանցում պատկերների գերազանց սեղմում առանց կորուստների և կորուստների: Այն, ընդհանուր առմամբ, շատ ավելի փոքր է (25%-34%), քան JPG, PNG և այլն, և, հետևաբար, կայքերն ավելի արագ են բեռնվում: Այժմ եկեք ուսումնասիրենք մանրամասները, թե ինչպես 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 ֆայլեր, Metafiles և WebP ձևաչափեր: Այժմ, ըստ այս հոդվածի շրջանակի, մենք պատրաստվում ենք օգտագործել այն Java հավելվածում jpg-ը webp-ի փոխարկելու համար: Այժմ առաջին քայլը մեր java նախագծում API հղում ավելացնելն է՝ ներառելով հետևյալ տեղեկատվությունը pom.xml-ում (maven build type project):
<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 պատկերը Cloud պահեստում
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 առանց Cloud պահեստավորման օգտագործման: Աղբյուրի պատկերը բեռնվում է տեղական սկավառակից և փոխակերպումից հետո ստացված ֆայլը նույնպես պահվում է տեղական կոշտ սկավառակի վրա:
- Նախ, ստեղծեք ImagingApi-ի օբյեկտ՝ օգտագործելով անհատականացված հավատարմագրերը
- Երկրորդ, բեռնեք PNG պատկերը՝ օգտագործելով readAllBytes(…) մեթոդը և անցեք բայթ[] զանգվածին
- Երրորդ, ստեղծեք CreateConvertedImageRequest-ի օբյեկտ, որն ընդունում է PNG պատկերի անունը և webp ձևաչափը որպես արգումենտ:
- Այժմ զանգահարեք createConvertedImage(…) մեթոդը՝ PNG-ի WebP-ի փոխարկում կատարելու համար: Արդյունքը վերադարձվում է որպես պատասխան հոսք
- Վերջապես, պահպանեք ստացված WenP-ը տեղական սկավառակում՝ օգտագործելով FileOutputStream օբյեկտը
// Ստացեք 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-ը ամպային պահեստում պահելու համար փոխանցեք WebP ուղու մանրամասները CreateConvertedImageRequest-ի օբյեկտ ստեղծելիս: Այս մոտեցման դեպքում ելքային հոսքը տեղական սկավառակում պահելու վերջին քայլը կբացակայվի:
GIF-ը դեպի WebP՝ օգտագործելով cURL հրամանները
Java կոդից բացի, REST API-ին կարելի է մուտք գործել նաև cURL հրամանների միջոցով: Այսպիսով, այս բաժնում մենք պատրաստվում ենք իրականացնել GIF-ի փոխակերպում WebP՝ օգտագործելով cURL հրամանները: Այժմ նախադրյալը հետևյալ հրամանի միջոցով 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 հրամանները: Խնդրում ենք տեղյակ լինել, որ մենք մեծապես խրախուսում ենք ձեզ ուսումնասիրել Product Documentation, որը տեղեկատվության զարմանալի աղբյուր է: Այն ձեզ կլուսավորի REST API-ի կողմից ներկայումս առաջարկվող այլ հետաքրքիր հատկությունների մասին:
Բացի այդ, դուք կարող եք նաև դիտարկել API-ի առանձնահատկությունները SwaggerUI-ի միջոցով (վեբ բրաուզերի ներսում) փորձարկելու մասին, և եթե ձեզ անհրաժեշտ է ներբեռնել և փոփոխել աղբյուրի կոդը, այն կարելի է մուտք գործել GitHub-ից (այն հրապարակված է: MIT լիցենզիայի ներքո): Ի վերջո, եթե API-ն օգտագործելիս որևէ խնդրի եք հանդիպում, խնդրում ենք մի հապաղեք կապվել մեզ հետ՝ արագ լուծման համար անվճար արտադրանքի աջակցության ֆորումի միջոցով:
Առնչվող հոդվածներ
Խնդրում ենք այցելել հետևյալ հղումները՝ ավելին իմանալու համար.