# صانع GIF — صور إلى GIF متحرّكة

حوِّل طقماً من الصور إلى حركة واحدة.

> حوِّل صور JPG أو PNG أو WebP إلى صورة GIF متحرّكة، مجاناً وداخل متصفحك بالكامل. اضبط الترتيب والسرعة والمقاس. ولا يُرفع شيء، ويعمل دون اتصال.

هذه الصفحة أداة تفاعلية تعمل بالكامل داخل متصفحك، على العنوان https://abox.tools/ar/إنشاء-gif/ — ولا يُرفَع أي شيء تعطيه إياها. وفيما يلي كل ما تقوله الصفحة عن الأداة بالكلمات؛ لاستخدامها، افتح العنوان.

## صورك لا تُرفع **أبدا**. لا يوجد خادم.

كل إطار يُرسَم وتُكمَّم ألوانه ويُضغَط بمتصفحك أنت، ويُجمَّع ملف GIF المنتهي في الذاكرة على هذا الجهاز. ولا يقف في الطرف الآخر من هذه الصفحة خادم تُرسَل إليه صورة، حتى لو أراد شيء هنا ذلك.

- ✗ بلا رفع
- ✗ بلا حساب
- ✓ يعمل دون اتصال
- ✓ مفتوح المصدر
- ✓ الملفات تبقى على جهازك

## كيف تصنع ملف GIF من صور

1. **اختر صورك.** أفلِت مجلداً على المُنتقي، أو اختر الملفات يدوياً. يقرؤها المتصفح من قرصك مباشرة؛ ولا يُرسَل شيء إلى أي مكان أثناء ذلك.
2. **رتّبها بالترتيب الذي ينبغي أن تعمل به.** اسحب من المقبض، أو استعمل الأسهم. و«رتّب بالاسم» يعدّ كما تتوقّع أنت، فيحطّ `frame_2` قبل `frame_10`.
3. **اضبط كم يبقى كل إطار.** نصف ثانية لكل واحد عرضُ شرائح؛ وجزءٌ من عشرين حركةٌ. أعطِ كل إطار مدة البقاء نفسها دفعة واحدة، أو أفرِد واحداً منها ليتمهّل.
4. **اختر مقاساً، وكيف تُختار الألوان.** ملف GIF يكبر بمساحته وبعدد إطاراته وليس ثمّة مِزلاج جودة يعيده إلى أسفل، فالمقاس هو الإعداد الأهمّ. و256 لوناً لكل إطار أحسن الافتراضات منظراً؛ ولوحةٌ واحدة مشتركة أصغر وأثبت.
5. **اصنع ملف GIF ونزِّله.** يُبنى على عتادك أنت، فمدّته تتوقّف على جهازك لا على طابور. وتعمل الحركة المنتهية على الصفحة قبل أن تحفظها.

## النسخة الأطول

[كيف تصنع GIF متحرّكة من صور](https://abox.tools/ar/أدلة/إنشاء-gif-من-الصور/): حوِّل طقماً من الصور إلى ملف GIF متحرّك واحد: بأي سرعة يستطيع ملف GIF أن يعمل حقاً، وماذا يغيّر إعدادُ لوحة الألوان، والأشياءُ الثلاثة التي تصغّر الملف فعلاً.

## أيضا في الصندوق

- [تقسيم GIF](https://abox.tools/ar/تقسيم-gif-إلى-إطارات/): كل إطار يخرج ملفَّ PNG خاصاً به.
- [محلّل GIF](https://abox.tools/ar/تحليل-gif/): الإطارات والتأخيرات ولوحات الألوان، وأين ذهب كل بايت.
- [الصور إلى فيديو](https://abox.tools/ar/تحويل-الصور-إلى-فيديو/): حوِّل مجلداً من الصور إلى فيديو.
- [مقصّ الفيديو](https://abox.tools/ar/تقصير-الفيديو/): علّم على الأجزاء التي تستحق البقاء وهو يعمل. وخذها فيديو واحداً.

## أسئلة

### هل تُرفع صوري إلى أي مكان؟

لا. يقرأ متصفحك أنت صورك ويرسمها ويكمّم ألوانها ويضغطها على جهازك أنت. ولا جانب خادمَ لهذه الأداة، و`Content-Security-Policy` الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به — وليس واحد منها لنا. اقطع الاتصال بالشبكة وسيظل يصنع ملفات GIF.

### ما صيغ الصور التي أستطيع استعمالها؟

أي صيغة صورة ساكنة يستطيع متصفحك فكّ ترميزها، وهي عملياً JPG وPNG وWebP وGIF وAVIF و— على أجهزة Apple — HEIC. ولا قائمة منفصلة نحرص على تحديثها هنا، لأن فكّ الترميز عمل المتصفح لا عملنا.

### لماذا ملف GIF عندي بهذا الكبر؟

لأن ملف GIF يخزّن كل إطار بكسلات كاملة. فلا تعويض حركة، ولا شيء يُخزَّن على أنه «كسابقه لكن مزاحاً»، ولا مقبض جودة: فالحجم تقريباً هو المساحة في عدد الإطارات، وثلاثة أشياء لا غير تخفّضه. \
\
صغّره — فتنصيف المقاس يربّع نقصان الملف. واستعمل إطارات أقلّ، أو أبقِ كل واحد أطول. وانزل إلى 64 أو 32 لوناً، وأطفئ التوشية، وذلك يكلّف على العمل الفنّي المسطَّح أقلّ مما يبدو وعلى الصور الفوتوغرافية كثيراً. وإن ظلّ لا يتّسع، فالجواب الصادق أن الذي تصنعه فيديو، وملف MP4 له سيكون عُشر الحجم ربما.

### بأي سرعة يستطيع ملف GIF أن يعمل؟

لا بالسرعة التي يوحي بها الرقم. فالصيغة تخزّن تأخير كل إطار بأجزاء من مئة من الثانية، والمتصفحات تحدّ كل ما دون اثنين منها إلى عُشر ثانية منذ التسعينيات — قاعدةٌ كُتِبت لكرات أرضية دوّارة من ذلك الزمن ولم تُرفَع قط. فتأخيرُ 0.01 ثانية لا يعمل عند 100 إطار في الثانية؛ بل عند 10. ولهذا لن تعرض عليك هذه الأداة شيئاً دون 0.02 ثانية، و0.05 ثانية (20 إطاراً في الثانية) هي نحو أسرع ما يستحق أن يُطلَب.

### ماذا يغيّر إعداد لوحة الألوان؟

إطار GIF يحمل 256 لوناً على الأكثر، ولا بدّ لشيء أن يختارها. \
\
**أفضل الألوان لكل إطار** يختار 256 لكل صورة على حدة، وهو أحدّ منظراً وهو الجواب الصحيح لطقم صور فوتوغرافية لا رابط بينها. أما **لوحة واحدة لملف GIF كله** فيبني جدولاً واحداً من كل الإطارات دفعة واحدة. وهو ينتج ملفاً أصغر، ويوقف الارتعاش الذي تحصل عليه حين تتأرجح اللوحة بين إطارات المشهد الواحد — فهو ما تلجأ إليه حين تكون الإطارات متتابعةً لا مجموعة.

### هل أستطيع الإبقاء على خلفية شفافة؟

نعم، إن كانت صورك تحملها: حوِّل «الشفافية» إلى «أبقِ المناطق الشفافة». وثمّة شيء تعرفه قبل أن تفعل. فشفافية GIF بتٌّ واحد — البكسل إما غير مرئي وإما مطليّ تماماً، ولا شيء بينهما — فالحوافّ الملسَّنة والظلال الناعمة وكل ما هو متلاشٍ تصير له حافّة حادّة بدلاً من ذلك. فإن كانت حركتك ذاهبة إلى خلفية تعرف لونها، فتسطيحُها على ذلك اللون سيبدو أحسن.

### هل ثمّة حدّ لعدد الصور التي أستطيع استعمالها؟

لا حدّ مبنيّاً في الأداة. والسقف العملي ذاكرةُ جهازك أنت وصبرُك على الملف الذي يخرج: فالصور تُقرأ واحدة في كل مرة، فمئة إطار لا بأس بها، لكن مئة إطار بعرض 640 بكسلاً ملفُّ GIF كبير جداً كذلك. انظر «لماذا ملف GIF عندي بهذا الكبر؟» أعلاه.

### هل هو مجاني، وهل أحتاج إلى حساب؟

هو مجاني، ولا حساب ولا تسجيل دخول ولا فترة تجريبية. ولا علامة مائية على الخَرج كذلك. ويحمل الموقع إعلانات، وهي ما يدفع تكاليفه؛ ولا يُعطى المعلنون شيئاً عن صورك.

### هل يعمل دون اتصال؟

نعم. حمِّل الصفحة مرة، ثم اقطع اتصالك بالإنترنت وستظل تعمل. وهذه أيضاً أبسط طريقة لإثبات أنه لا يُرفع شيء: فأداةٌ ترسل صورك بعيداً لتُعالَج كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.

## كيف يمكن التحقق من وعد الخصوصية

- **صورك لا سبيل لها إلى الخروج.** تُسمّي Content-Security-Policy كل عنوان يجوز لهذه الصفحة الاتصال به، وليس واحد منها لنا. فلا يوجد هنا طرفٌ تُجمَع عنده ملفاتك، ولا في الشيفرة ما يرسلها إليه لو وُجد. وقد كان هذا يقول `connect-src 'none'`، وكان مطلقاً؛ فكلّفت إضافةُ الإعلانات ذلك، وقولُه جزء من الصفقة.
- **المرمِّز أربعة ملفات في هذا المستودع.** ملف GIF يحتاج إلى مُكمِّم ألوان وإلى ضاغط LZW، والمتصفح لا يأتي بواحد منهما — فكُتِب الاثنان هنا، في `src/quantize.js` و`src/lzw.js`، والحاوية في `src/gif.js`. ولا شيء يُجلَب لصنع واحد، ولا محرّك يُنزَّل عند أول استعمال.
- **ما تُحمّله Google، وما لا يُعطى لها.** نصوص الإعلانات والقياس تأتي من Google. ولا يُعطى أيٌّ منهما شيئاً عن صورك: لا ملفاً، ولا مصغَّرة، ولا اسماً، ولا حجماً، ولا عدداً. وكل سطر يقرأ صورة أو يفكّ ترميزها أو يرسمها أو يضغطها يُخدَم من هذا الأصل نفسه ومُدرَج في المستودع.
- **ما يُحمّله زر التبرّع، وما لا يُعطى له.** زر «Buy me a coffee» في الترويسة يرسمه نصٌّ برمجي من cdnjs.buymeacoffee.com ويأخذ حروفه من Google Fonts. وهو رابط لا أكثر: لا يبلّغ عن زيارة، ولا يُعطى شيئاً عنك ولا عن صورك. ولا يحدث شيء ما لم تنقره، والذي ستنتقل إليه بالنقر موقعُ شخص آخر.
- **يعمل دون اتصال.** اقطع الاتصال بالشبكة ويظل كل جزء من هذه الصفحة يعمل. وهذا أبسط برهان على الإطلاق: فأداةٌ ترسل صورك بعيداً لتُحوَّل إلى ملف GIF كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.

**تحقّق بنفسك.** لا شيء مما سبق عليك تصديقه دون تحقق. تُولَّد هذه الصفحة من القوالب والإعدادات في المستودع بواسطة سكربت بناء يمكنك قراءته وتشغيله بنفسك، والنتيجة موجودة في فرع `dist` — فقارِن إذن بين ما يُقدَّم فعلا وما ينتجه بناء المصادر: https://github.com/A-Box-of-Tools/website

الملفات الجديرة بالقراءة أولا هي `config/site.toml` من أجل سياسة أمان المحتوى (Content-Security-Policy)، و`src/quantize.js` للوحة الألوان التي يُختزَل إليها كل إطار، و`src/lzw.js` و `src/gif.js` للضاغط وللملف الذي يدخل فيه — وليس في واحد منها سطر يمكن أن يبلغ الشبكة.
