بشكل يومي ، ننتج مجموعة ضخمة من الصور من خلال الكاميرات الرقمية والماسحات الضوئية وما إلى ذلك ومعظمها في JPG ، PNG ، GIF ، TIFF إلخ. الآن قد نلتقط أشياء / عناصر غير ضرورية في الصورة. لذلك غالبًا ما نطلب اقتصاص صورة لإزالة موضوع غير مرغوب فيه أو تفاصيل غير ذات صلة من الصورة. قد يكون لدينا متطلب لتغيير نسبة العرض إلى الارتفاع للصورة أو لتحسين التكوين العام للصورة. لذلك في هذه المقالة ، سوف نتعلم التفاصيل حول كيفية اقتصاص الصورة باستخدام Java Cloud SDK.
Image Crop API
من أجل اقتصاص الصورة في تطبيق Java ، سنستخدم Aspose.Imaging Cloud SDK for Java. تمكّنك واجهة برمجة التطبيقات من تحديد موضع مستطيل الاقتصاص بالإضافة إلى أبعاده. بعد اكتمال عملية اقتصاص الصورة ، يمكننا إما حفظ صورة الإخراج بنفس التنسيق أو الاستفادة من حفظ الصورة التي تم اقتصاصها بتنسيق مختلف. يرجى زيارة الرابط التالي للحصول على قائمة التنسيقات المدعومة. الآن من أجل البدء ، فإن الخطوة الأولى هي إضافة مرجعها في مشروع java عن طريق تضمين المعلومات التالية في pom.xml (مشروع نوع بناء maven).
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
بمجرد إعداد المشروع ، نحتاج إلى الحصول على بيانات اعتماد العميل من Cloud Dashboard. الآن إذا لم يكن لديك حساب على Aspose Cloud Dashboard ، يرجى إنشاء حساب مجاني من خلال عنوان بريد إلكتروني صالح. سجّل الدخول الآن باستخدام حساب تم إنشاؤه حديثًا وابحث / أنشئ معرّف العميل وسر العميل في Aspose Cloud Dashboard.
اقتصاص الصورة باستخدام Java
دعنا نستكشف التفاصيل حول كيفية تحميل صورة حالية واقتصاص الصورة عبر الإنترنت. سنقوم أولاً بقص PNG / croppng وحفظ الصورة المحدثة بنفس التنسيق. سيتم تحميل PNG من محرك الأقراص المحلي ، واقتصاص الصورة عبر الإنترنت وسيتم حفظ الإخراج الناتج في التخزين السحابي. في حالة عدم تحديد اسم ملف الإخراج ، ستحتوي الاستجابة على الصورة المتدفقة.
- أولاً ، نحتاج إلى إنشاء مثيل لـ ImagingApi استنادًا إلى بيانات اعتماد العميل المخصصة
- ثانيًا ، اقرأ ملف PNG على شكل مجلد محلي باستخدام كائن الملف
- إنشاء مثيل بايت [] وقراءة كافة البايت من ملف باستخدام طريقة readAllBytes (…)
- حدد الآن الأبعاد والإحداثيات X و Y فيما يتعلق بنقطة بدء عملية المحاصيل
- بعد ذلك ، قم بإنشاء مثيل CreateCroppedImageRequest الذي يتطلب جميع المعلمات المذكورة أعلاه واسم الصورة الناتجة
- أخيرًا ، قم بقص الصورة باستخدام طريقة createCroppedImage (…)
// احصل على ClientID و ClientSecret من https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// خلق كائن التصوير
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// تحميل الملف من محرك الأقراص المحلي
File f = new File("PinClipart.png");
// قراءة محتوى صورة PNG لمجموعة بايت
byte[] bytes = Files.readAllBytes(f.toPath());
// حدد العرض والارتفاع للصورة التي تم اقتصاصها
int newWidth = 350;
int newHeight = 350;
// حدد النقطة التي يبدأ منها اقتصاص الصورة
int x = 100;
int y = 100;
// إنشاء طلب صورة المحاصيل أثناء تحديد اسم الصورة الناتجة
CreateCroppedImageRequest cropRequest = new CreateCroppedImageRequest(bytes, x,y, newWidth, newHeight, null, "Cropped.png", null);
// طريقة استدعاء لاقتصاص PNG وحفظ الإخراج في التخزين السحابي
imageApi.createCroppedImage(cropRequest);
اقتصاص الصورة باستخدام أوامر cURL
نظرًا لأن واجهات برمجة التطبيقات الخاصة بنا تم تطويرها على بنية REST ، فإننا نقدم مرونتين ، أي الحصول على تجربة موحدة حتى عند استدعاء واجهات برمجة التطبيقات على أي نظام أساسي والوصول إلى واجهات برمجة التطبيقات باستخدام أوامر cURL. الآن من أجل الوصول إلى واجهات برمجة التطبيقات باستخدام أوامر 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 المميز ، يرجى الاتصال بـ CropImage API لاقتصاص الصورة التي تم تحميلها من التخزين السحابي بتنسيق PNG. الآن من أجل حفظ الصورة التي تم اقتصاصها بتنسيق JPG ، فإننا نحدد قيمة JPG مقابل معلمة التنسيق. يتم إرجاع صورة المحصول الناتجة في دفق الاستجابة.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/crop?x=50&y=50&width=200&height=200&format=JPG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
-o "cropped.jpg"
استنتاج
بنهاية هذه المقالة ، تعلمنا الخطوات الخاصة بكيفية اقتصاص الصورة باستخدام مقتطف كود Java. في الوقت نفسه ، اكتشفنا أيضًا خيار اقتصاص الصورة عبر الإنترنت باستخدام أوامر cURL. بخلاف عملية اقتصاص الصورة ، يمكنك استكشاف وثائق المنتج للتعرف على الميزات المثيرة الأخرى التي تقدمها واجهة برمجة التطبيقات. قبل العمل مع مقتطف الشفرة ، يمكنك استكشاف ميزات واجهة برمجة التطبيقات داخل المتصفح من خلال مرجع واجهة برمجة تطبيقات swagger.
ومع ذلك ، فإننا نوفر مرونة كاملة لمستخدمينا من خلال تمكينهم من تنزيل كود المصدر الكامل لواجهة برمجة تطبيقات معالجة الصور من GitHub (تم نشره بموجب ترخيص MIT). في حال واجهتك أية مشكلات أثناء استخدام واجهة برمجة التطبيقات ، يمكنك التفكير في الاتصال بنا للحصول على حل سريع عبر منتدى دعم المنتج مجانًا.
مقالات ذات صلة
يرجى زيارة الروابط التالية لمعرفة المزيد حول: