JPG պատկերը տարածված ձևաչափ է տպագրության և խմբագրման նպատակներով: Ավելին, այն պատկերի հանրաճանաչ ձևաչափ է՝ լուսանկարներ և այլ պատկերներ համացանցում և բջջային և համակարգչի օգտատերերի միջև համօգտագործելու համար: JPG պատկերների փոքր ֆայլի չափը թույլ է տալիս հազարավոր պատկերներ պահել փոքր հիշողության տարածքում: Այժմ, քանի որ սեղմումը վնասված է, դա նշանակում է, որ որոշակի անհարկի տեղեկատվություն ընդմիշտ ջնջվում է: Մյուս կողմից, PNG-ի ամենամեծ առավելությունը JPEG-ի նկատմամբ այն է, որ սեղմումն անկորուստ է, ինչը նշանակում է, որ որակի կորուստ չկա ամեն անգամ, երբ այն բացվում և նորից պահպանվում է: PNG-ը նաև լավ է մշակում մանրամասն, բարձր հակադրություն ունեցող պատկերները: Այժմ այս հոդվածում մենք պատրաստվում ենք քննարկել մանրամասները, թե ինչպես փոխարկել JPG-ն PNG-ին՝ օգտագործելով Java Cloud SDK-ն:
- Image Conversion API
- Փոխակերպեք JPG-ն PNG-ի Java-ում
- Փոխեք JPG-ը PNG-ի` օգտագործելով cURL հրամանները
Image Conversion API
REST-ի վրա հիմնված մեր API-ն առաջարկում է պատկերային ֆայլեր ստեղծելու, խմբագրելու և փոխակերպելու հնարավորություններ տարբեր աջակցվող ֆայլի ձևաչափերի: Այժմ Java հավելվածում jpg-ը png-ի թափանցիկ բեռնելու և փոխարկելու հատկությունն իրականացնելու համար մենք պետք է օգտագործենք Aspose.Imaging Cloud SDK for Java, քանի որ այն ամպի API-ի շուրջը փաթաթված է: Այսպիսով, հաջորդ քայլը դրա հղումն ավելացնելն է java նախագծում՝ ներառելով հետևյալ տեղեկատվությունը pom.xml maven build տիպի նախագծի մեջ:
<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>
Երբ JDK հղումը ավելացվի նախագծում, հաջորդ կարևոր քայլը անվճար հաշիվ ստեղծելն է Aspose Cloud Dashboard-ի միջոցով: Պարզապես գրանցվեք անվճար փորձարկման համար վավեր էլ. հասցեի միջոցով: Այժմ մուտք գործեք՝ օգտագործելով նորաստեղծ հաշիվը և փնտրեք/ստեղծեք Հաճախորդի ID-ն և Հաճախորդի գաղտնիքը Cloud Dashboard-ում: Այս մանրամասները պահանջվում են նույնականացման նպատակով հետևյալ բաժիններում:
Փոխակերպեք JPG-ն PNG-ի Java-ում
Այժմ եկեք քննարկենք մանրամասները, թե ինչպես կարող ենք JPG-ն փոխարկել PNG-ի` օգտագործելով Java կոդի հատվածը: Փոխակերպումն իրականացնելու համար մենք ունենք երկու API՝ պատկերն այլ ձևաչափի փոխակերպելու համար.
GET API-ն ակնկալում է, որ մենք նախ վերբեռնենք պատկեր Cloud Storage-ում, այնուհետև դրա անունը փոխանցենք API URL-ում: Պատկերի պարամետրերը թարմացնելուց հետո API-ն պատասխանում վերադարձնում է թարմացված պատկերը: Եթե ցանկանում եք պահպանել թարմացված պատկերը Cloud Storage-ում, դուք բացահայտորեն պետք է դա անեք, ինչպես ցույց է տրված ստորև բերված օրինակներում:
Մյուս կողմից, երկրորդ POST API-ն կանչելիս կարող եք ուղղակիորեն պատկերը փոխանցել հարցումի մարմնում։ Այն նաև թույլ է տալիս պահպանել թարմացված պատկերը Cloud Storage-ում՝ նշելով outPath պարամետրի արժեքը: Այնուամենայնիվ, եթե դուք չեք նշում արժեքը, պատասխանը պարունակում է հոսքային պատկեր:
- Ստեղծեք ImagingApi-ի օրինակ՝ հիմնվելով ձեր անհատականացված հաճախորդի հավատարմագրերի վրա
- Կարդացեք բոլոր JPG ֆայլերը տեղական թղթապանակից՝ օգտագործելով File[] օբյեկտը
- Կրկնեք զանգվածի ֆայլերի միջով և հասցրեք առանձին պատկերի բովանդակությունը բայթ[] օրինակ
- Այժմ ստեղծեք CreateConvertedImageRequest-ի օբյեկտ, որտեղ մենք նշում ենք ելքային պատկերի ձևաչափը որպես PNG
- Անվանեք createConvertedImage(…) մեթոդը, որը պահպանում է JPG-ն որպես PNG և արդյունքը վերադարձնում է որպես պատասխան հոսք:
- Վերջապես պահպանեք PNG ֆայլը տեղական սկավառակում՝ օգտագործելով FileOutputStream օբյեկտը
// Ստացեք ClientID-ը և ClientSecret-ը https://dashboard.aspose.cloud/-ից
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// ստեղծել Պատկերային օբյեկտ
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
File directory = new File("/Users/");
//Ստացեք բոլոր ֆայլերը թղթապանակից
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}
//Այստեղ սահմանեք պատկերի պահանջվող ընդարձակումները:
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");
int counter =0;
//JPG պատկերային ֆայլերի ֆիլտրացված ցուցակ
List<File> acceptedImages = new ArrayList<>();
// Կրկնել տեղական թղթապանակից կարդացված յուրաքանչյուր պատկերի ֆայլի միջով
for (File file : allFiles) {
//Վերլուծեք ֆայլի ընդլայնումը
String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
//Ստուգեք, արդյոք ընդլայնումը նշված է supportedImageExtensions-ում
if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
//Ավելացրեք պատկերը զտված ցանկին
acceptedImages.add(file);
// կարդալ JPG պատկերի բովանդակությունը
byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
// ստեղծել պատկերի փոխակերպման հարցում արդյունքի ձևաչափով որպես PNG
CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
// փոխարկեք JPG-ը PNG-ի և ստացված ֆայլը վերադարձրեք պատասխան հոսքի մեջ
byte[] exportedImage = imageApi.createConvertedImage(request);
// Պահպանեք արտահանված պատկերը տեղական պահեստում
FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
fos.write(exportedImage);
fos.close();
}
}
Փոխեք JPG-ը PNG-ի` օգտագործելով cURL հրամանները
Քանի որ մենք կարող ենք մուտք գործել REST API-ներ՝ օգտագործելով cURL հրամանները, ուստի այս բաժնում մենք ուսումնասիրում ենք մանրամասները՝ JPG-ն PNG-ի թափանցիկ փոխարկելու համար: Այժմ որպես նախապայման, մենք պետք է նախ գեներացնենք 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"
Այժմ մենք պատրաստվում ենք օգտագործել ConvertImage API զանգը, այն ակնկալում է, որ մուտքագրված JPG-ն արդեն հասանելի կլինի ամպային պահեստում: Այժմ խնդրում ենք կատարել հետևյալ հրամանը՝ 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
Եզրակացություն
Այս հոդվածը տրամադրել է մի քանի զարմանալի մանրամասներ այն մասին, թե ինչպես կարող ենք JPG-ն փոխարկել PNG-ի, օգտագործելով Java կոդի հատվածը: Նմանապես, մենք նաև քննարկել ենք JPG-ն PNG-ի թափանցիկ փոխարկելու քայլերը՝ օգտագործելով cURL հրամանները: Խնդրում ենք նկատի ունենալ, որ Product Documentation-ը զարմանալի վայր է API-ի կողմից առաջարկվող այլ հետաքրքիր հատկությունների մասին իմանալու համար: Այն դեպքում, երբ դուք պետք է փորձեք այս API-ները դիտարկիչում, խնդրում ենք օգտագործել swagger API Reference:
Նախավերջին, խնդրում ենք նկատի ունենալ, որ մեր բոլոր Cloud SDK-ները հրապարակված են MIT լիցենզիայի ներքո, այնպես որ դուք կարող եք ներբեռնել ամբողջական աղբյուր կոդը GitHub-ից և փոփոխել այն՝ ըստ ձեր պահանջների: Վերջապես, եթե API-ն օգտագործելիս որևէ խնդիր հանդիպեք, կարող եք մտածել մեզ մոտենալու համար արագ լուծման համար անվճար ապրանքի աջակցման ֆորումի միջոցով:
Առնչվող հոդվածներ
Խնդրում ենք այցելել հետևյալ հղումները՝ ավելին իմանալու համար.