kopya sa litrato

Pangitag Duplicate nga mga Hulagway gamit ang Java Cloud SDK

Ang JPG nga imahe usa ka sikat nga pormat alang sa pag-imprinta ug pag-edit nga katuyoan. Dugang pa, kini usa ka sikat nga format sa imahe alang sa pagpaambit sa mga litrato ug uban pang mga imahe sa internet ug taliwala sa mga tiggamit sa Mobile ug PC. Ang gamay nga gidak-on sa file sa mga imahe sa JPG nagtugot sa pagtipig sa liboan ka mga imahe sa gamay nga espasyo sa memorya. Karon tungod kay nawala ang compression, kini nagpasabut nga ang pipila nga wala kinahanglana nga kasayuran permanente nga mapapas. Sa pikas tumoy, ang pinakadako nga bentaha sa PNG sa JPEG mao nga ang compression walay pagkawala, nagpasabut nga walay pagkawala sa kalidad sa matag higayon nga kini maablihan ug maluwas pag-usab. Gidumala usab sa PNG ang detalyado, taas nga kalainan nga mga imahe nga maayo. Karon sa kini nga artikulo, atong hisgutan ang mga detalye kung giunsa ang Pag-convert sa JPG sa PNG gamit ang Java Cloud SDK

Image Conversion API

Ang among REST based API nagtanyag sa mga kapabilidad sa paghimo, pag-edit ug pagbag-o sa mga file sa imahe sa lainlain nga gisuportahan nga mga format sa file. Karon aron mapatuman ang feature sa pagkarga ug pag-convert sa jpg ngadto sa png transparent sa Java nga aplikasyon, kinahanglan natong gamiton ang Aspose.Imaging Cloud SDK for Java kay kini usa ka wrapper sa Cloud API. Busa ang sunod nga lakang mao ang pagdugang sa iyang reperensiya sa java project pinaagi sa paglakip sa pagsunod sa impormasyon sa pom.xml sa maven build type project.

<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>

Kung ang JDK nga pakisayran nadugang sa proyekto, ang sunod nga hinungdanon nga lakang mao ang paghimo usa ka libre nga account sa Aspose Cloud Dashboard. Pag-sign up lang alang sa usa ka Libre nga Pagsulay pinaagi sa usa ka balido nga email address. Karon pag-login gamit ang bag-ong nahimo nga account ug pagpangita / paghimo Client ID ug Client Secret sa Cloud Dashboard. Kini nga mga detalye gikinahanglan alang sa mga katuyoan sa pag-authenticate sa mosunod nga mga seksyon.

I-convert ang JPG ngadto sa PNG sa Java

Karon atong hisgutan ang mga detalye kon unsaon nato pag-convert ang JPG ngadto sa PNG gamit ang Java code snippet. Aron mahimo ang pagkakabig, kami adunay duha ka mga API aron ma-convert ang usa ka imahe sa lain nga format:

Gilauman sa GET API nga mag-upload una kami og imahe sa Cloud Storage unya ipasa ang ngalan niini sa API URL. Pagkahuman sa pag-update sa mga parameter sa imahe, gibalik sa API ang na-update nga imahe sa tubag. Kung gusto nimo i-save ang na-update nga imahe sa Cloud Storage, kinahanglan nimo nga buhaton kini sama sa gipakita sa mga pananglitan sa ubos.

Sa laing bahin, kung nagtawag sa ikaduha nga POST API, mahimo nimong direkta nga ipasa ang imahe sa lawas sa hangyo. Gitugotan ka usab nga i-save ang na-update nga imahe sa Cloud Storage pinaagi sa pagtino sa kantidad sa parameter sa outPath. Bisan pa, kung dili nimo mahibal-an ang kantidad, ang tubag adunay sulud nga imahe nga na-stream.

  • Paghimo usa ka pananglitan sa ImagingApi base sa imong personal nga mga kredensyal sa kliyente
  • Basaha ang tanang JPG nga mga file gikan sa lokal nga folder gamit ang File[] object
  • Pag-uli sa mga file sa array ug pagkab-ot sa sulod sa indibidwal nga hulagway ngadto sa byte [] nga pananglitan
  • Karon paghimo usa ka butang sa CreateConvertedImageRequest diin among gitino ang format sa imahe sa output ingon PNG
  • Tawga ang paagi nga createConvertedImage(…) nga nagtipig sa JPG isip PNG ug nagbalik sa resulta isip response stream
  • Sa katapusan i-save ang PNG file sa lokal nga drive gamit ang FileOutputStream object
// Pagkuha ClientID ug ClientSecret gikan sa https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// paghimo og Imaging object
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

File directory = new File("/Users/");
//Kuhaa ang tanan nga mga file gikan sa folder
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
    throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}

//Ibutang ang gikinahanglan nga mga extension sa imahe dinhi.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");

int counter =0;
//Nasala nga lista sa mga file sa imahe nga JPG
List<File> acceptedImages = new ArrayList<>();

// Pag-uli sa matag file sa imahe nga gibasa gikan sa lokal nga folder			 
for (File file : allFiles) {
    //Parse ang extension sa file
    String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
	
    //Susiha kung ang extension nalista sa gisuportahan ngaImageExtensions
    if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
	//Idugang ang hulagway sa nasala nga listahan
	acceptedImages.add(file);
                  
    // basaha ang sulod sa hulagway sa JPG
    byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
    
    // paghimo og hangyo sa pagbag-o sa imahe nga adunay sangputanan nga format ingon PNG
    CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
    
    // i-convert ang JPG ngadto sa PNG ug ibalik ang resulta nga file sa response stream
    byte[] exportedImage = imageApi.createConvertedImage(request);
    
    // I-save ang gi-eksport nga imahe sa lokal nga pagtipig
    FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
    fos.write(exportedImage);
    fos.close();
    }
}

Usba ang JPG sa PNG gamit ang cURL Commands

Ingon nga ma-access namon ang mga REST API gamit ang mga cURL nga mga mando, mao nga sa kini nga seksyon, among gisusi ang mga detalye aron mabag-o ang JPG sa PNG nga transparent. Karon ingon usa ka kinahanglanon, kinahanglan una namon nga maghimo usa ka JWT access token (base sa mga kredensyal sa kliyente) samtang gipatuman ang mosunud nga mando.

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"

Karon atong gamiton ang tawag sa ConvertImage API, gilauman nga ang input JPG magamit na sa cloud storage. Karon palihug ipatuman ang mosunud nga mando aron usbon ang JPG sa 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

Konklusyon

Kini nga artikulo naghatag pipila ka katingalahang mga detalye kung giunsa namon makombertir ang JPG sa PNG gamit ang snippet sa Java code. Sa susama, nahisgutan usab namo ang mga lakang sa pag-convert sa JPG ngadto sa PNG transparent gamit ang cURL Commands. Palihug timan-i nga ang Dokumentasyon sa Produkto usa ka katingad-an nga lugar aron mahibal-an ang bahin sa uban pang makapaikag nga mga bahin nga gitanyag sa API. Kung kinahanglan nimo nga sulayan kini nga mga API sa sulod sa browser, palihug sulayi ang paggamit sa swagger API Reference.

Sa ulahi, palihug timan-i nga ang tanan namong mga Cloud SDK gipatik ubos sa lisensya sa MIT, aron mahimo nimong hunahunaon ang pag-download sa kompleto nga source code gikan sa GitHub ug usbon kini sumala sa imong mga kinahanglanon. Katapusan, kung makasugat ka og bisan unsang mga isyu samtang naggamit sa API, mahimo nimong ikonsiderar ang pagduol kanamo alang sa dali nga resolusyon pinaagi sa libre nga product support forum.

May Kalabutan nga mga Artikulo

Palihug bisitaha ang mosunud nga mga link aron mahibal-an ang dugang bahin sa: