تغيير حجم الصورة

تغيير حجم صورة TIFF باستخدام Java

نحن نعلم أن إحدى الميزات البارزة لملفات TIFF هي قدرتها على تخزين صور متعددة (لكل منها قنوات متعددة) كإطارات متسلسلة في مكدس زمني أو z-stack من الصور. لذا في هذه المقالة يشرح كيفية استخراج إطار من صورة TIFF ، وتغيير حجمه وحفظه بشكل منفصل على التخزين. تتطلب عملية تغيير الحجم أبعادًا جديدة (العرض والارتفاع) لإطار TIFF محدد.

تغيير حجم الصورة API

Aspose.Imaging Cloud SDK for Java هو حلنا القائم على REST والذي يوفر القدرات لتعديل وتعديل وتحويل البيانات النقطية والملفات الوصفية والفوتوشوب إلى مجموعة متنوعة من التنسيقات المدعومة. في الوقت نفسه ، يقدم أيضًا ميزة معالجة صور TIFF حيث يمكننا حتى العمل على إطار TIFF فردي. الآن من أجل البدء في استخدام SDK ، نحتاج إلى إضافة مرجعها في مشروع جافا الخاص بنا من خلال تضمين المعلومات التالية في pom.xml (مشروع نوع بناء maven).

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

الخطوة التالية هي الحصول على تفاصيل بيانات اعتماد العميل من Cloud Dashboard وإذا لم يكن لديك حساب عبر Aspose Cloud Dashboard ، يرجى إنشاء حساب مجاني من خلال عنوان بريد إلكتروني صالح. سجّل الدخول الآن باستخدام حساب تم إنشاؤه حديثًا وابحث / أنشئ معرّف العميل وسر العميل في Aspose Cloud Dashboard.

تغيير حجم الصورة عبر الإنترنت في Java

في هذا القسم ، سنستخدم GetImageFrame API لتطوير مغير حجم الصورة TIFF الخاص بنا. يأخذ طلب واجهة برمجة التطبيقات هذا اسم صورة كمسار في عنوان URL ، لذلك نحتاج أولاً إلى تحميل الصورة إلى التخزين السحابي. بعد تحديث معلمات الصورة ، تقوم API بإرجاع الصورة المحدثة في الاستجابة. يمكنك أيضًا الحصول على القدرة على تغيير حجم الصور بشكل مجمّع وكذلك يمكنك تحديد ما إذا كنا بحاجة إلى تغيير حجم إطار TIFF محدد فقط باستخدام معلمة saveOtherFrames.

  • أولاً ، قم بإنشاء كائن من ImagingApi استنادًا إلى بيانات اعتماد العميل الشخصية
  • ثانيًا ، اقرأ محتوى صورة TIFF الأولى باستخدام طريقة readAllBytes (…) وانتقل إلى صفيف البايت []
  • ثالثًا ، قم بإنشاء مثيل لفئة UploadFileRequest حيث نحدد اسم TIFF عبر التخزين السحابي
  • الآن قم بتحميل أول صورة TIFF إلى التخزين السحابي باستخدام طريقة uploadFile (…)
  • حدد فهرس إطار TIFF ، والارتفاع والعرض الجديدين للإطار المستخرج ، وحدد فقط تغيير حجم الإطار المحدد
  • الآن قم بإنشاء كائن GetImageFrameRequest حيث نحدد إدخال صورة TIFF والخصائص المحددة أعلاه
  • استدعاء getImageFrame (…) طريقة ImagingAPI للحصول على إطار TIFF
  • احفظ الإطار المستخرج على محرك الأقراص المحلي باستخدام كائن FileOutputStream
// احصل على ClientID و ClientSecret من https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// خلق كائن التصوير
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// تحميل أول صورة TIFF من النظام المحلي
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// إنشاء ملف طلب تحميل الكائن
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// تحميل أول صورة TIFF إلى التخزين السحابي
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// عرض جديد وارتفاع الإطار المستخرج
Integer newWidth = 400;
Integer newHeight = 600;

// ينتج عن تضمين الإطار المحدد فقط وليس الإطارات الأخرى
Boolean saveOtherFrames = false;

// قم بإنشاء كائن طلب لاستخراج إطارات tiff بناءً على تفاصيل محددة
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// يتم إرجاع الإطار المستخرج في تدفق الاستجابة
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// احفظ إطار TIFF المستخرج على التخزين المحلي
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
تغيير حجم الإطار المشاجرة

تغيير حجم معاينة إطار TIFF

يمكن تنزيل نماذج صور TIFF المستخدمة في المثال أعلاه من TiffSampleImage.tiff.

تقليل حجم الصورة باستخدام أوامر cURL

نظرًا لبنية REST لواجهة برمجة التطبيقات ، يمكن أيضًا الوصول إليها باستخدام أوامر cURL. لذلك في هذا القسم ، سنناقش التفاصيل حول كيفية تقليل حجم الصورة أو استخراج إطار tiff بأبعاد معينة باستخدام أوامر 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 ، نحتاج إلى تنفيذ الأمر التالي لتغيير حجم إطار TIFF.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.tiff/frames/0?newWidth=400&newHeight=600&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"
-o ResizedFrame.tiff

استنتاج

قدمت هذه المقالة بعض التفاصيل الرائعة حول كيفية تغيير حجم الصورة (TIFF) باستخدام Java cloud SDK. لقد تعلمنا خطوات تغيير حجم إطار TIFF باستخدام مقتطف كود Java وكذلك اكتشفنا خيار تغيير حجم الصورة عبر الإنترنت باستخدام أوامر cURL. يمكنك أيضًا أن تفكر في اختبار الميزات الواعدة لواجهة برمجة التطبيقات عبر SwaggerUI داخل متصفح الويب. وفي حالة رغبتك في تعديل التعليمات البرمجية المصدر لـ SDK ، يمكنك التنزيل من GitHub (تم تطوير جميع حزم SDK السحابية الخاصة بنا بموجب ترخيص MIT).

ومع ذلك ، تعد وثائق المنتج مصدرًا رائعًا للمعلومات للتعرف على الميزات المثيرة الأخرى التي تقدمها واجهة برمجة التطبيقات. أخيرًا ، في حالة ظهور أي مشكلات أثناء استخدام واجهة برمجة التطبيقات ، يمكنك التفكير في الاتصال بنا للحصول على حل سريع عبر منتدى دعم المنتج.

مقالات ذات صلة

يرجى زيارة الروابط التالية لمعرفة المزيد حول: