Ang among personal hangtod sa opisyal nga kinabuhi gilangkuban sa mga imahe sa raster. Samtang naggamit og mga mobile phone, scanner, imaging device ug lain-laing mga camera nga gigamit sa lain-laing mga device, naghimo kami og daghang data sa mga termino sa mga hulagway. Karon depende sa algorithm sa compression, ang matag aparato nagpatunghag mga imahe sa lainlain nga mga sukat ingon man mga gidak-on. Apan sa kaso nga kita adunay usa ka kinahanglanon sa pagtipig sa mga hulagway (JPG, PNG, GIF, TIFF ug uban pa) sa hiniusang mga dimensyon, busa kinahanglan natong usba ang mga hulagway. Kami adunay daghang mga aplikasyon sa pag-resizer sa litrato nga magamit sa merkado apan kung kinahanglan namon nga usbon ang imahe sa online sa kadaghanan, ang usa ka solusyon sa programa kanunay usa ka praktikal nga pamaagi. Busa, niining artikuloha, atong hisgotan ang mga detalye/mga lakang kon unsaon pag-develop sa picture resizer gamit ang Java Cloud SDK.
Image Resize API
Aron mabag-o ang Imahe, among gamiton ang Aspose.Imaging Cloud SDK para sa Java. Tungod sa arkitektura nga nakabase sa REST, mahimo naton ma-access ang API sa bisan unsang plataporma ug makahimo og photo resizer. Gawas sa feature sa pag-resize sa imahe online, kini usab makapahimo kanimo sa paghimo, pag-edit ug pagbag-o sa mga file sa imahe ngadto sa lain-laing suportadong mga format sa file. Karon aron makasugod, kinahanglan natong idugang ang reperensiya niini sa java project pinaagi sa paglakip sa pagsunod sa impormasyon sa pom.xml (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 wala kay account sa Aspose Cloud Dashboard, palihug paghimo ug libre nga account pinaagi sa 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.
Usba ang Imahe sa Java
Kini nga seksyon nagpatin-aw sa mga lakang kung giunsa ang pagbag-o sa imahe sa PNG. Gilauman sa API nga i-load ang imahe gikan sa lokal nga drive nga kinahanglan namon nga direkta nga ipasa ang imahe sa lawas sa hangyo. Human sa pag-resize sa png nga operasyon, mahimo namong i-save ang updated nga imahe sa Cloud Storage pinaagi sa pagtino sa outPath parameter value. Bisan pa, kung dili naton ipiho ang kantidad, ang tubag adunay sulud nga imahe nga na-stream.
- Paghimo usa ka pananglitan sa ImagingApi base sa personal nga mga kredensyal sa kliyente
- Basaha ang PNG file nga porma sa lokal nga folder gamit ang File object
- Paghimo byte [] pananglitan ug basaha ang tanang byte gikan sa file gamit ang readAllBytes(…) nga pamaagi
- Ipiho ang bag-ong mga dimensyon sa imahe gamit ang mga butang nga Integer
- Karon paghimo og usa ka pananglitan sa CreateResizedImageRequest diin among gitino ang ngalan alang sa resulta nga hulagway
- Sa katapusan usba ang imahe gamit ang createResizedImage(…) nga pamaagi
// 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);
// load file gikan sa lokal nga drive
File f = new File("PinClipart.png");
// basaha ang sulod sa PNG nga hulagway ngadto sa byte array
byte[] bytes = Files.readAllBytes(f.toPath());
// bag-ong mga dimensyon alang sa resulta nga imahe
int newWidth = 150;
int newHeight = 150;
// paghimo resize nga hangyo sa imahe samtang gipiho ang sangputanan nga ngalan sa imahe
CreateResizedImageRequest resizeRequest = new CreateResizedImageRequest(bytes, newWidth, newHeight, null, "Updated.png", null);
// usba ang hulagway online ug i-save ang output sa cloud storage
imageApi.createResizedImage(resizeRequest);
Usba ang gidak-on sa GIF gamit ang cURL Commands
Atol sa operasyon sa pag-resize sa imahe, mahimo usab namon ipiho ang gi-update nga format alang sa imahe. Mao nga sa kini nga seksyon, usbon namon ang GIF ug i-save ang output sa format nga JPG gamit ang mga mando sa cURL. Mao nga ingon usa ka kinahanglanon, kinahanglan una namon nga maghimo usa ka token sa pag-access sa JWT (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"
Kung mabuhat na ang JWT token, palihug tawagi ang ResizeImage API aron mabag-o ang imahe ug i-save ang output sa JPG format sa lokal nga drive (ang sangputanan nga parameter sa format sa file opsyonal).
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/winter.gif/resize?newWidth=200&newHeight=200&format=JPG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o "resultant.jpg"
Ang tinubdan GIF nga hulagway mahimong ma-download gikan sa winter.gif ug resulta nga hulagway gikan sa resultant.jpg.
Konklusyon
Kami nakakat-on sa usa ka talagsaon nga paagi sa pag-usab sa larawan sa online gamit ang Java code snippet. Gilamdagan usab kami niini sa mga detalye kung giunsa ang pagbag-o sa imahe nga dili mawala ang kalidad gamit ang mga mando sa cURL. Palihug timan-i nga mahimo usab nimo nga susihon ang mga kapabilidad sa API sa sulod sa web browser samtang gigamit ang swagger API Reference. Karon gawas sa mga kapabilidad sa Picture Resizer, mahimo nimong tukion ug mahibal-an ang bahin sa uban pang makapahinam nga mga bahin sa API gikan sa Dokumentasyon sa Produkto. Bisan pa, ang tanan namon nga Cloud SDK gipatik sa ilawom sa lisensya sa MIT, aron mahimo nimong hunahunaon ang pag-download sa kompleto nga source code gikan sa GitHub (nga mahimo nimong usbon 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: