This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

أدوات GIF

إعادة تحجيم وتحسين وتغيير السرعة وعكس واستخراج الإطارات وتدوير صور GIF المتحركة. توفّر أوضاع تشغيل متعددة في أداة واحدة.

نقطة نهاية API

POST /api/v1/tools/image/gif-tools

المعاملات

المعاملات المشتركة

المعاملالنوعمطلوبالافتراضيالوصف
modestringلا"resize"وضع التشغيل: resize، optimize، speed، reverse، extract، rotate
loopnumberلا0عدد مرات التكرار لمخرجات GIF (0 = لا نهائي، 1-100 = تكرارات محدودة)

معاملات وضع إعادة التحجيم

المعاملالنوعمطلوبالافتراضيالوصف
widthintegerلا-العرض المستهدف بالبكسل (1 إلى 16384)
heightintegerلا-الارتفاع المستهدف بالبكسل (1 إلى 16384)
percentagenumberلا-التحجيم بالنسبة المئوية (1 إلى 500). يتجاوز width/height إذا تم تعيينه.

معاملات وضع التحسين

المعاملالنوعمطلوبالافتراضيالوصف
colorsnumberلا256الحد الأقصى لعدد الألوان في اللوحة (2 إلى 256)
dithernumberلا1.0قوة التوزيع اللوني (0 إلى 1، حيث 0 يعطّل التوزيع اللوني)
effortnumberلا7مستوى جهد التحسين (1 إلى 10، أعلى = أبطأ لكن أصغر)

معاملات وضع السرعة

المعاملالنوعمطلوبالافتراضيالوصف
speedFactornumberلا1.0مضاعف السرعة (0.1 إلى 10). القيم > 1 تسرّع، < 1 تبطّئ.

معاملات وضع الاستخراج

المعاملالنوعمطلوبالافتراضيالوصف
extractModestringلا"single"وضع الاستخراج: single، range، all
frameNumbernumberلا0فهرس الإطار للاستخراج في وضع single (يبدأ من 0)
frameStartnumberلا0فهرس إطار البداية لوضع range (يبدأ من 0)
frameEndnumberلا-فهرس إطار النهاية لوضع range (يبدأ من 0، شامل)
extractFormatstringلا"png"صيغة الإطارات المستخرجة: png، webp

معاملات وضع التدوير

المعاملالنوعمطلوبالافتراضيالوصف
anglenumberلا-زاوية التدوير: 90، 180، أو 270 درجة
flipHbooleanلاfalseالقلب أفقياً
flipVbooleanلاfalseالقلب عمودياً

أمثلة على الطلبات

إعادة التحجيم

bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
  -F "[email protected]" \
  -F 'settings={"mode":"resize","percentage":50}'

التحسين

bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
  -F "[email protected]" \
  -F 'settings={"mode":"optimize","colors":128,"effort":9}'

التسريع

bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
  -F "[email protected]" \
  -F 'settings={"mode":"speed","speedFactor":2.0}'

استخراج إطار واحد

bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
  -F "[email protected]" \
  -F 'settings={"mode":"extract","extractMode":"single","frameNumber":5,"extractFormat":"png"}'

مثال على استجابة

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/animation.gif",
  "originalSize": 2345678,
  "processedSize": 1234567
}

المسار الفرعي للمعلومات

POST /api/v1/tools/image/gif-tools/info

يُرجع بيانات وصفية عن GIF متحرك دون معالجته.

طلب المعلومات

bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools/info \
  -F "[email protected]"

استجابة المعلومات

json
{
  "width": 480,
  "height": 320,
  "pages": 24,
  "delay": [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
  "loop": 0,
  "fileSize": 2345678,
  "duration": 2400
}

ملاحظات

  • يستخدم مصنع createToolRoute القياسي لنقطة نهاية المعالجة الرئيسية.
  • تتطلب نقطة نهاية المعلومات رفع ملف فقط (لا حاجة لإعدادات).
  • في وضع resize، إذا تم توفير percentage فإنه يأخذ الأولوية على width/height. تستخدم إعادة التحجيم fit: inside للحفاظ على نسبة العرض إلى الارتفاع.
  • في وضع speed، تُقسَّم تأخيرات الإطارات على عامل السرعة. الحد الأدنى للتأخير لكل إطار هو 20 مللي ثانية (قيد مواصفات GIF).
  • في وضع reverse، يتوفر أيضاً معامل speedFactor لضبط السرعة في آن واحد أثناء العكس.
  • في وضع extract مع range أو all، تكون المخرجات ملف ZIP يحتوي على إطارات فردية.
  • في وضع rotate، تتم معالجة كل إطار على حدة ثم إعادة تجميعه في رسم متحرك.
  • يتحكم معامل loop في عدد مرات تكرار مخرجات GIF. استخدم 0 للتكرار اللانهائي.
  • حقل duration في استجابة المعلومات هو إجمالي مدة الرسم المتحرك بالمللي ثانية.