WebP הוא פורמט תמונה מודרני פופולרי המספק דחיסה מעולה ללא אובדן והפסד עבור תמונות באינטרנט. פורמט תמונה זה פותח על ידי Google ומיועד כתחליף לפורמטים של JPEG, PNG ו-GIF. הוא תומך הן בדחיסה חסרת אובדן והן בדחיסה ללא אובדן, כמו גם באנימציה ובשקיפות אלפא. הם גם פופולריים מכיוון שקובץ WebP הוא בדרך כלל קטן בהרבה מקובץ JPEG מסורתי ולכן אתרי אינטרנט נטענים מהר יותר ומעניקים למשתמשים חוויה טובה יותר. עם זאת, מערכות קונבנציונליות רבות עדיין דורשות פורמטים של תמונות רסטר למטרות אחסון ועיבוד ולכן, יש לנו דרישה לבצע המרת WebP ל-JPG בתפזורת. אז במאמר זה, אנו הולכים לדון בפרטים כיצד להמיר תכנותית של WebP ל-JPG, WebP ל-PNG ו-WebP ל-GIF.
WebP ל-JPG REST API
הפתרון שלנו מבוסס REST Aspose.Imaging Cloud SDK עבור Java הוא ממשק API אמין לעיבוד תמונה והמרת תמונה. בעזרת API זה תוכלו ליישם יכולות עיבוד תמונה (עריכה והמרת) באפליקציה שלכם. הוא תומך בתמונות רסטר, קבצי Photoshop, Metafiles ופורמטים אחרים כגון פורמט WebP. אז לפי היקף מאמר זה, אנו הולכים להשתמש ב-API זה כדי להמיר WebP ל-JPEG. כעת כדי להתחיל עם ניצול SDK, עלינו להוסיף את ההתייחסות שלו לפרויקט ה-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>
לאחר שההפניה ל-REST API נוספה בפרויקט Java, אנא השג את אישורי הלקוח שלך מ-Cloud Dashboard. אחרת, תחילה עליך לרשום חשבון בחינם תוך שימוש בכתובת דוא"ל חוקית.
המרת WebP ל-JPEG ב-Java
בואו נדון בפרטים כיצד לטעון ולהמיר WebP לפורמט JPG באמצעות קטע קוד Java.
- ראשית, צור אובייקט של ImagingApi באמצעות אישורים מותאמים אישית
- שנית, טען את תמונת ה-WebP באמצעות שיטת readAllBytes(…) ועבור למערך byte[]
- שלישית, צור מופע של UploadFileRequest על ידי מתן תמונת WebP כארגומנט והעלה אותה לאחסון בענן באמצעות שיטת uploadFile(…)
- כעת צור אובייקט של ConvertImageRequest שלוקח את שם תמונת WebP ופורמט JPG כארגומנטים
- קרא למתודה convertImage(…) כדי להמיר WebP לפורמט JPEG. הפלט מוחזר כזרם תגובה
- לבסוף, שמור את ה-JPG שנוצר בכונן המקומי באמצעות אובייקט FileOutputStream
// קבל ClientID ו-ClientSecret מ-https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// ליצור אובייקט הדמיה
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// טען תמונת WebP מהכונן המקומי
File file1 = new File("WEBPSampleImage.webp");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// צור אובייקט בקשה להעלאת קובץ
UploadFileRequest uploadRequest = new UploadFileRequest("source.webp",imageStream,null);
// העלה תמונת WebP לאחסון בענן
imageApi.uploadFile(uploadRequest);
// ציין פורמט פלט כ-JPEG
String format = "jpg";
// צור אובייקט בקשת המרת תמונה
ConvertImageRequest convertImage = new ConvertImageRequest("source.webp", format, null, null);
// המרת WebP ל-JPEG והחזרת פלט בזרם התגובה
byte[] resultantImage = imageApi.convertImage(convertImage);
// שמור JPG שנוצר בכונן המקומי
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.jpg");
fos.write(resultantImage);
fos.close();
ניתן להוריד את תמונת ה-WebP לדוגמה המשמשת בדוגמה לעיל מ-WEBPSampleImage.webp ואת הפלט מ-Converted.jpg.
WebP ל-PNG ב-Java
סעיף זה דן בפרטים כיצד להמיר WebP לפורמט PNG מבלי להשתמש באחסון בענן.
- ראשית, צור אובייקט של ImagingApi באמצעות אישורים מותאמים אישית
- שנית, טען את תמונת ה-WebP באמצעות שיטת readAllBytes(…) ועבור למערך byte[]
- שלישית, צור אובייקט של CreateConvertedImageRequest שלוקח את שם תמונת WebP ופורמט pNG כארגומנטים.
- כעת קרא לשיטה createConvertedImage(…) כדי להמיר WebP ל-PNG. הפלט מוחזר כזרם תגובה
- לבסוף, שמור את ה-PNG שנוצר בכונן המקומי באמצעות אובייקט FileOutputStream
// קבל ClientID ו-ClientSecret מ-https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// ליצור אובייקט הדמיה
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// טען תמונת WebP מהכונן המקומי
File file1 = new File("WEBPSampleImage.webp");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// ציין פורמט פלט כ-PNG
String format = "png";
// צור אובייקט בקשת המרת תמונה
CreateConvertedImageRequest convertRequest = new CreateConvertedImageRequest(imageStream,format,null,null);
// המרת WebP ל-PNG והחזרת פלט בזרם התגובה
byte[] resultantImage = imageApi.createConvertedImage(convertRequest);
// שמור PNG שנוצר בכונן המקומי
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();
הערה:- אם אנחנו צריכים לשמור את ה-PNG שנוצר באחסון בענן, העבר פרטי נתיב PNG תוך יצירת אובייקט של CreateConvertedImageRequest. בגישה זו, השלב האחרון לאחסון זרם הפלט בכונן המקומי ידלג.
WebP ל-GIF באמצעות פקודות cURL
ניתן לגשת אל REST API גם באמצעות פקודות cURL, אז בסעיף זה, אנו הולכים לבצע המרת WebP ל-GIF באמצעות פקודות 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, אנא בצע את הפקודה הבאה כדי לבצע המרת WebP ל-GIF.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/WEBPSampleImage.webp/convert?format=GIF" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o "Converted,gif"
סיכום
מאמר זה הסביר את כל הפרטים הדרושים כיצד להמיר WebP ל-JPEG, WebP ל-PNG וכיצד לבצע המרת WebP ל-GIF באמצעות REST API. למדנו את השלבים להמרה פרוגרמטית של WebP ל-JPG או להמיר webp ל-gif באמצעות פקודות cURL. אנו מאוד ממליצים לך לחקור את תיעוד המוצר שהוא מקור מדהים למידע כדי ללמוד על תכונות מרגשות אחרות שמציע ה-API.
אתה יכול גם לשקול בדיקת תכונות API דרך SwaggerUI בדפדפן אינטרנט, ובמקרה שתצטרך להוריד ולשנות את קוד המקור של Cloud SDK, הוא זמין ב-GitHub (פורסם ברישיון MIT) . לבסוף, במקרה שאתה נתקל בבעיות כלשהן במהלך השימוש ב-API, תוכל לשקול לפנות אלינו לפתרון מהיר באמצעות פורום תמיכת מוצרים בחינם.
מאמרים קשורים
אנא בקר בקישורים הבאים כדי ללמוד עוד על: