լուսանկարի կրկնօրինակ

Գտեք կրկնօրինակ պատկերներ՝ օգտագործելով Java Cloud SDK

JPG պատկերը տարածված ձևաչափ է տպագրության և խմբագրման նպատակներով: Ավելին, այն պատկերի հանրաճանաչ ձևաչափ է՝ լուսանկարներ և այլ պատկերներ համացանցում և բջջային և համակարգչի օգտատերերի միջև համօգտագործելու համար: JPG պատկերների փոքր ֆայլի չափը թույլ է տալիս հազարավոր պատկերներ պահել փոքր հիշողության տարածքում: Այժմ, քանի որ սեղմումը վնասված է, դա նշանակում է, որ որոշակի անհարկի տեղեկատվություն ընդմիշտ ջնջվում է: Մյուս կողմից, PNG-ի ամենամեծ առավելությունը JPEG-ի նկատմամբ այն է, որ սեղմումն անկորուստ է, ինչը նշանակում է, որ որակի կորուստ չկա ամեն անգամ, երբ այն բացվում և նորից պահպանվում է: PNG-ը նաև լավ է մշակում մանրամասն, բարձր հակադրություն ունեցող պատկերները: Այժմ այս հոդվածում մենք պատրաստվում ենք քննարկել մանրամասները, թե ինչպես փոխարկել JPG-ն PNG-ին՝ օգտագործելով Java Cloud SDK-ն:

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-ն օգտագործելիս որևէ խնդիր հանդիպեք, կարող եք մտածել մեզ մոտենալու համար արագ լուծման համար անվճար ապրանքի աջակցման ֆորումի միջոցով:

Առնչվող հոդվածներ

Խնդրում ենք այցելել հետևյալ հղումները՝ ավելին իմանալու համար.