يُفتح هذا بمجرّد أن تختار ملفاً في الأعلى.جاهزة — اقطع الاتصال بالإنترنت وستظل تعمل.غير متاحة في هذا المتصفح (كل شيء آخر يظل يعمل).تحتاج إلى https:// أو localhost للتخزين المؤقت دون اتصال.التخزين المؤقت غير متاح هنا، لكن لا شيء يُرفع في الحالتين.ملفاتك لم تذهب إلى أي مكان. {total} ملفاً حُمِّلت، كلها ملفات هذه الصفحة نفسها. {platform}اتصل شيءٌ بـ {hosts}، وهو ما لا تفعله هذه الأداة أبداً. عُدَّ ذلك جديراً بالتحقيق. {platform}نصوصُ الإعلانات والقياس وزرّ التبرّع الخاصة بالصفحة حُمِّلت من مضيفٍ {hosts}؛ ولم يُعطَ واحد منها ملفاً ولا بايتاً منه.نصوصُ الإعلانات والقياس وزرّ التبرّع الخاصة بالصفحة حُمِّلت من {hosts} مضيفاً؛ ولم يُعطَ واحد منها ملفاً ولا بايتاً منه.حدث خطأ ما: {detail}. أعد تحميل الصفحة لتبدأ من جديد.جارٍ قراءة {count} ملف…جارٍ قراءة {count} ملف…جرّب مثالاًجارٍ إنشاء مثال…تعذّر على هذا المتصفّح إنشاء المثال. اختر ملفاً بدلاً من ذلك.
تغييرُ الحجم والقصُّ وتبديلُ الصيغة، كلها تجري داخل متصفحك أنت، على جهازك أنت، بمرمِّزات الصور التي يأتي بها أصلاً. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — لا شيء تجلبه ولا شيء ترسله — ولا يقف خلف هذه الصفحة خادم تُرسَل إليه صورة، حتى لو كان فيها ما يرسلها.
✗ بلا رفع
✗ بلا حساب
✗ بلا علامة مائية
✓ يعمل دون اتصال
✓ مفتوح المصدر
فحص حي:جارٍ الفحص…
دون اتصال:جارٍ الفحص…
لا داعي لأن تصدّقنا: افتح أدوات المطوّر، وراقب تبويب «الشبكة»، ثم غيّر حجم صورة. لن يحمل أي طلب صورةً ولا مصغَّرة ولا اسم ملف ولا بايتاً واحداً مما اخترته. أو اقطع الاتصال بالإنترنت وغيّر حجم صورة رغم ذلك.
كيف يمكن التحقق من وعد الخصوصية
صورك لا سبيل لها إلى الخروج. تُسمّي Content-Security-Policy كل عنوان يجوز لهذه الصفحة الاتصال به، وليس واحد منها لنا. فلا يوجد هنا طرفٌ تُجمَع عنده ملفاتك، ولا في الشيفرة ما يرسلها إليه لو وُجد.
لا شيء هنا يجلب شيئاً. لا يوجد fetch ولا XMLHttpRequest ولا sendBeacon في أي موضع من src/. وتغيير الحجم هو drawImage واحد على لوحة وcanvas.toBlob واحد — المُحجِّم والمرمِّز المثبَّتان في متصفحك أصلاً.
الملف الذي لم يطلب أحد تغييره لا يُغيَّر. مع عدم وجود قص ولا تغيير حجم ولا تبديل صيغة، يُعاد إليك الملف الذي اخترته بايتاً بايتاً بدل أن يُحفَظ من جديد. وليس ذلك مجاملة فحسب: هو السبب في أن هذه الأداة لا تستطيع أن تعيد ترميز صورة في صمت، ولا أن تُسقط في صمت البيانات الوصفية لصورة أردت النظر إليها لا غير.
ما تُحمّله Google، وما لا يُعطى لها. نصوص الإعلانات والقياس تأتي من Google، وزر التبرّع من Buy Me a Coffee. ولا يُعطى أيٌّ منها شيئاً عن صورك. وكل سطر يقرأ ملفاً أو يقصّه أو يحجّمه أو يكتبه يُخدَم من هذا الأصل نفسه ومُدرَج في المستودع.
يعمل دون اتصال. اقطع الاتصال بالشبكة، وتبقى الأداة كما هي، لأنه لم تكن فيها خطوة شبكية قط. وهذا أبسط برهان على الإطلاق.
تحقّق بنفسك. لا شيء مما سبق عليك تصديقه دون تحقق. تُولَّد هذه الصفحة من القوالب والإعدادات في المستودع بواسطة سكربت بناء يمكنك قراءته وتشغيله بنفسك، والنتيجة موجودة في فرع dist — فقارِن إذن بين ما يُقدَّم فعلا وما ينتجه بناء المصادر:
الملفات الجديرة بالقراءة أولا هي config/site.toml من أجل سياسة أمان المحتوى (Content-Security-Policy)، وsrc/geometry.js للحساب الذي يقرّر ما يُبقى عليه وبأي حجم يخرج، وsrc/codecs.js لاستدعاء drawImage الواحد الذي يؤدي القصَّ وتغييرَ الحجم معاً.
إذا حذّرك برنامج الحماية في عملك من رفع ملف. إنه يراقب لحظة اختيار ملف في المتصفّح، ولا يمكنه أن يعرف إن كانت الصفحة تنوي إرساله — فيحذّر عند الاختيار. لا شيء يُرسَل من هنا: افتح أدوات المطوّر في متصفّحك، وانتقل إلى Network، ثم اختر ملفاً. لا يوجد أي طلب يحمله، ولا أي طلب أصلاً عدا المعاينة المحلية للصفحة. وهو الفحص نفسه الذي يستطيع أي شخص في قسم تقنية المعلومات لديك إجراؤه في نصف دقيقة.
1 اختر الصور
2 قُصَّ، إن أردت
يبدأ الإطار على الصورة كلها، فتركُ هذه الخطوة على حالها لا يقصّ شيئاً. وتحتفظ كل صورة بإطارها الخاص — اختر واحدة من القائمة أعلاه لترسم عليها. ويجري القصُّ قبل تغيير الحجم، وهو الترتيب الوحيد المعقول: فالصورة التي تُقتطَع بعد تصغيرها تكون قد رمت أصلاً بالبكسلات التي احتاجت إليها.
اسحب داخل الإطار لتحريكه، أو أي ركن لتغيير حجمه. ومع تركيز المؤشر على الإطار تحرّكه مفاتيح الأسهم بكسلاً بكسلاً، وAlt + الأسهم تغيّر حجمه، وإمساك Shift يجعل كل خطوة عشراً.
أضِف صورة يظهر الإطار هنا.
3 قل بأي حجم تكون
لا تكبّر صورة أبداً فوق ما بدأت به التكبير يخترع بكسلات لم تُصوَّر قط، فالصورة الصغيرة إذا طُلب لها إطار كبير خرجت ناعمة لا مفصَّلة. ومع تفعيل هذا يُترَك كل ما هو أصغر من الحجم الذي طلبته على حجمه هو.
املأ أحدهما واترك الآخر فارغاً للإبقاء على نسبة الصورة نفسها.
أيُّ الضلعين كان أطول صار هذا، ويتبعه الآخر. فتخرج اللقطات الطولية والعرضية في الدفعة الواحدة بالحجم نفسه على ضلعها الطويل، وهو ما يريده المعرض عادةً.
4 احفظها
الجودة — 85 لصيغتَي JPEG وWebP فقط؛ أما PNG فليس فيه مقبض جودة. وعند 85 يعجز معظم الناس عن التفريق. ودون 60 تقريباً تبدأ المساحات المسطَّحة في التشرّط.
الخلفية ما يظهر حيث لا تظهر الصورة: خلف الإطار المحشوّ، وخلف الشفافية حين لا تكون في صيغة الخَرج قناة ألفا.
انتهى
{name}: ليست صورة تقدر هذه الأداة على قراءتها.{name}: لم يستطع هذا المتصفح فكّ ترميزها.{name}: {reason}رفض هذا المتصفح كتابة {format}.لم يستطع هذا المتصفح فكّ ترميز الصورة.{n} بايت{n} ك.بايت{n} م.بايتصورة واحدة{n} صورةبالحجم نفسه تقريباًأصغر بنسبة {percent}%أكبر بنسبة {percent}%{count}، {size} في المجموع{name} هي التي في معاينة القصارسم إطار القص على {name}في المعاينةأزِل {name} من القائمةلا شيء يتغيّر هنا، فتمرّ هذه كما هي تماماً.تصير {size}غيّر حجم الصورةغيّر حجم الصورمعاينة {name}منطقة القص. تحرّكها مفاتيح الأسهم، ويغيّر حجمها Alt مع الأسهم، ومع الاستمرار في الضغط على Shift تصير كل خطوة عشرة بكسلات.الرسم على {name}.كل صورة تحتفظ بإطارها. {note}{name} لها إطار خاص بها.{name} ما زالت على الصورة كلها — اخترها من القائمة أعلاه لقصّ تلك أيضاً.{count} الأخرى ما زالت على الصورة كلها — اختر واحدة من القائمة أعلاه لقصّها.كلتا الأخريين لها إطار خاص بها.الأخريات كلهنّ، وعددهنّ {n}، لكل منها إطار خاص بها.واحدة من الأخريات {total} لها إطار خاص بها؛ والبقية ما زالت على الصورة كلها.{n} من الأخريات {total} لكل منها إطار خاص بها؛ والبقية ما زالت على الصورة كلها.كل الصور في القائمة بهذا الحجم تماماً، فتأخذ الأخرى هذا الإطار بعينه.كل الصور في القائمة بهذا الحجم تماماً، فتأخذ كلها هذا الإطار بعينه.المساحة النسبية نفسها في كل واحدة — الكسور نفسها من عرضها وارتفاعها هي — لأنها ليست كلها بالحجم نفسه.أكبر إطار على شكل الصورة نفسها يسع المساحة النسبية نفسها من كل واحدة، حتى تخرج كل نتيجة بالشكل الذي ثبّتّه وإن لم تكن كلها بالحجم نفسه.أكبر إطار بنسبة {ratio} يسع المساحة النسبية نفسها من كل واحدة، حتى تخرج كل نتيجة بالشكل الذي ثبّتّه وإن لم تكن كلها بالحجم نفسه.يبقى JPEG على حاله، ويبقى PNG على حاله. وما لا يستطيع هذا المتصفح كتابته — GIF أو BMP — يخرج PNG، وهو يحفظ الشفافية والألوان المسطّحة.صغير ويُفتح في كل مكان، ولا شفافية فيه: كل ما هو شفّاف يُملأ بلون الخلفية.بلا فقدان ويقبل الشفافية، وأكبر كثيراً من الاثنين الآخرين في صورة فوتوغرافية.أصغر من JPEG عند الجودة نفسها، ويحفظ الشفافية، ويفتحه كل متصفح حديث.WebP — غير مدعوم في هذا المتصفحمقصوصة إلى {crop}محوَّلة إلى {size}متروكة عند {size}مقصوصة إلى {crop}، ثم محوَّلة إلى {size}{what}، ومملوءة إلى الإطار الذي طلبته بالضبط{what}، ومكتوبة بصيغة {format}{plan}.أضِف صورة وسيقول هذا السطر بالضبط ما تصير إليه.لا شيء يتغيّر: {name} حجمها {size} وتعود كما دخلت تماماً، بايتاً بايتاً.{name} حجمها {size}. وتخرج {out} — {scale}.{name} حجمها {size}. وتخرج {out} — الصورة عند {scale}، على خلفية تملأ بقية ذلك الإطار.{name} حجمها {size}. ويُبقي الإطار منها {crop}. وتخرج {out} — {scale}.{name} حجمها {size}. ويُبقي الإطار منها {crop}. وتخرج {out} — الصورة عند {scale}، على خلفية تملأ بقية ذلك الإطار.{percent}% مما يُبقيه الإطار{percent}% من الأصلمكبَّرة إلى {percent}% مما يُبقيه الإطارمكبَّرة إلى {percent}% من الأصللا شيء يُقصّ، ولا شيء يتغيّر حجمه، والصيغة على حالها، فليس ثمة ما يُعاد ترميزه: كل ملف يُعاد بايتاً بايتاً، بأوسام EXIF وكل شيء، لأن أياً منها لا يُفتح أصلاً.الصورة {plan} — ولا تنجو أوسام EXIF وGPS من ذلك، لأن الـcanvas يحمل بكسلات ولا شيء غيرها.{name} {plan} — ولا تنجو أوسام EXIF وGPS من ذلك، لأن الـcanvas يحمل بكسلات ولا شيء غيرها. {rest}وتأخذ الصورة الأخرى إعدادات الحجم والصيغة نفسها، بقصّها هي.وتأخذ {count} الأخرى إعدادات الحجم والصيغة نفسها، كل واحدة بقصّها هي.{index} من {total}: {name}لم يُطلب شيء، فلم يُفعل شيء: عاد كل ملف كما دخل تماماً.{before} داخلاً، و{after} خارجاً — {change}.{before} داخلاً، و{after} خارجاً — {change}. و{count} لم تحتج إلى أي تغيير فمرّت كما هي.{before} داخلاً، و{after} خارجاً — {change}. و{count} لم تحتج إلى أي تغيير فمرّت كما هي.انظر إلى {name} بحجمها الكامل{size} · {bytes} — بلا تغيير{before} → {after} · {beforebytes} → {afterbytes} · {change}مرّت بايتاً بايتاً، ببياناتها الوصفية وكل شيء: لم يكن في هذا الملف ما يتغيّر.انظرنزِّلالأصل: {name}النتيجة: {name}الأصل {name}، عند {size}. وكلتاهما معروضة بالحجم الذي تتسع له هذه النافذة، وهي الطريقة المنصفة الوحيدة للمقارنة بينهما.اعرض النتيجةاعرض الأصلمحفوظة باسمالصيغةقبلبعدحجم الملفالقصّالمقياسالملءالجودةالبيانات الوصفيةالملف نفسه، بايتاً بايتاًمحفوظة — لم يُفتح هذا الملف قطلم تُنقل — الـcanvas يحمل بكسلات ولا شيء غيرها{size}، ابتداءً من {x} عرضاً و{y} نزولاًلا — مرّت الصورة كلها{percent}% من المقصوص{percent}% من الأصلنعم — تجلس الصورة على لون الخلفيةأُوقف بعد {done} من {total}. ما اكتمل موجود بالأسفل.أُوقف قبل أن يكتمل الأول.صورك لم تذهب إلى أي مكان. {total} ملفاً حُمِّلت، كلها ملفات هذه الصفحة نفسها. {platform}اتصل شيءٌ بـ {hosts}، وهو ما لا تفعله هذه الأداة أبداً. عُدَّ ذلك جديراً بالتحقيق. {platform}نصوصُ الإعلانات والقياس وزرّ التبرّع الخاصة بالصفحة حُمِّلت من مضيفٍ {hosts}؛ ولم يُعطَ واحد منها صورةً ولا بايتاً منها.نصوصُ الإعلانات والقياس وزرّ التبرّع الخاصة بالصفحة حُمِّلت من {hosts} مضيفاً؛ ولم يُعطَ واحد منها صورةً ولا بايتاً منها.
هل أنجزت المهمة؟
ما الذي حدث خطأ؟
شكرا — هذا يساعد.
يُرسَل الجواب فقط، وفقط عند الضغط على زر. لا يُرسَل ملفك أبدا، ولا اسمه، ولا أي شيء عنه.
# تغيير حجم الصور — غيّر الحجم وقُصّ وحوِّل الصيغة
قل الحجم. ارسم الإطار. اختر الصيغة.
> غيّر حجم صور JPEG وPNG وWebP وقُصّها وحوِّل صيغتها داخل متصفحك. بكسلات بالضبط، أو نسبة مئوية، أو أطول ضلع - لصورة واحدة أو لمجلد كامل. ولا يُرفع شيء.
هذه الصفحة أداة تفاعلية تعمل بالكامل داخل متصفحك، على العنوان https://abox.tools/ar/تغيير-حجم-الصورة/ — ولا يُرفَع أي شيء تعطيه إياها. وفيما يلي كل ما تقوله الصفحة عن الأداة بالكلمات؛ لاستخدامها، افتح العنوان.
## صورك لا تُرفع **أبدا**. لا يوجد خادم.
تغييرُ الحجم والقصُّ وتبديلُ الصيغة، كلها تجري داخل متصفحك أنت، على جهازك أنت، بمرمِّزات الصور التي يأتي بها أصلاً. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — لا شيء تجلبه ولا شيء ترسله — ولا يقف خلف هذه الصفحة خادم تُرسَل إليه صورة، حتى لو كان فيها ما يرسلها.
- ✗ بلا رفع
- ✗ بلا حساب
- ✗ بلا علامة مائية
- ✓ يعمل دون اتصال
- ✓ مفتوح المصدر
## كيف تغيّر حجم صورة دون رفعها
1. **اختر صورك.** أفلِتها على المُنتقي أو اخترها يدوياً. يقرؤها المتصفح من قرصك مباشرة، ولا يُرسَل شيء إلى أي مكان أثناء ذلك.
2. **قُصَّ، إن أردت.** يبدأ الإطار على الصورة كلها، فتركُه على حاله لا يقصّ شيئاً. اسحبه، أو ثبِّته على نسبة — 1:1 لصورة الملف الشخصي، و9:16 لقصة، و16:9 لمصغَّرة — واضغط «الأكبر» لأكبر إطار يتّسع. وتحتفظ كل صورة بإطارها الخاص: انقر أي صف في القائمة لترسم على تلك الصورة بدلاً منها. وإن أردتها كلها مؤطَّرة الإطار نفسه، فزرٌّ واحد يفعل ذلك أيضاً.
3. **قل بأي حجم تخرج.** عرضاً، أو ارتفاعاً، أو كليهما؛ أو أطول ضلع، وهو ما يجعل اللقطات الطولية والعرضية بالحجم نفسه؛ أو نسبة مئوية بسيطة. اترك أحد الحقلين فارغاً فتحتفظ الصورة بنسبتها.
4. **اختر الصيغة، ثم اضغط الزر.** أبقِ كل ملف على ما وصل به، أو اكتب الكل بصيغة JPEG أو PNG أو WebP. وتقول كل نتيجة إلامَ صارت وكم صغُرت؛ انقر إحداها لتفتحها بالحجم الكامل وأمامك كل الأرقام التي وراءها، والأصل بجانبها للمقارنة. وتنزل الدفعة في ملف zip واحد.
## النسخة الأطول
[كيف تغيّر حجم صورة دون أن تفسدها](https://abox.tools/ar/أدلة/تغيير-حجم-الصورة/): ماذا يحدث للصورة حين تغيّر أبعادها بالبكسل: لماذا التصغير آمن والتكبير ليس كذلك، وماذا تفعل حين يكون الإطار بشكل مختلف، ومتى تقتصّ بدل ذلك.
## أيضا في الصندوق
- [HEIC إلى JPG](https://abox.tools/ar/تحويل-heic-إلى-jpg/): الصور التي يلتقطها الآيفون، بصيغة يفتحها كل شيء.
- [صانع الصور الشخصية](https://abox.tools/ar/صورة-شخصية-بيومترية/): اختر البلد. فيطبّق قاعدة ذلك البلد، بالضبط.
- [تكديس الصور](https://abox.tools/ar/تكديس-الصور/): عشرون إطاراً في واحد، بلا عشرين رفعاً وبلا محوِّل RAW.
- [طمس الصور](https://abox.tools/ar/طمس-الصورة/): ما تغطّيه يُحذَف من الملف، لا يُغطَّى داخله.
## أسئلة
### هل تُرفع صورتي إلى أي مكان؟
لا. يفكّ متصفحك أنت ترميز الملف ويقصّه ويحجّمه ويكتبه على جهازك أنت، بمرمِّزات JPEG وPNG وWebP التي يأتي بها المتصفح أصلاً. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — فهي لا تجلب شيئاً ولا ترسل شيئاً — و`Content-Security-Policy` الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به، وليس واحد منها لنا.
### ماذا يحدث إن أعطيته عرضاً دون ارتفاع؟
يتبع الارتفاعُ نسبةَ الصورة نفسها، وهو المقصود في الغالب الأعم: «عرضه 1920» تعني «عرضه 1920 وارتفاعه ما يقتضيه ذلك». واملأ الحقلين معاً وقد يتعارض الاثنان مع نسبة الصورة، وهي المرة الوحيدة التي يظهر فيها خيار «إن تعارضت النسب» — احتواءٌ داخل الإطار، أو ملؤه وقطع الفائض، أو حشوه بلون خلفية، أو مطُّ الصورة وقبول التشوّه.
### هل يُفقد تغييرُ حجم الصورة شيئاً من جودتها؟
تصغير الصورة لا يفعل، بأي قدر تراه العين: فالبكسلات الداخلة أكثر من الخارجة، والتفاصيل الباقية تفاصيل حقيقية. أما تكبيرها فلا يستطيع أن يضيف ما لم يُصوَّر أصلاً — والناتج نسخة أنعم من الصورة نفسها لا أحدّ منها — ولهذا كان «لا تكبّر صورة أبداً فوق ما بدأت به» مفعَّلاً افتراضياً. والذي يكلّف شيئاً يسيراً هو إعادة الترميز بعد ذلك، إن كانت الصيغة JPEG أو WebP، ومِزلاجُ الجودة هو ما تنفقه هناك.
### هل أستطيع قصَّ كل صورة على نحو مختلف؟
نعم — وهذا هو الأصل. تحمل كل صورة في القائمة إطارها الخاص، ببكسلاتها هي، ونقرُ صفٍّ يضع تلك الصورة في المعاينة ومعها إطارها ونسبتها المثبَّتة. ولا يؤثّر ما تفعله بواحدة في غيرها. كما يبدأ كل إطار على الصورة كلها، فالصورة التي لم ترسم عليها قط لا تُقصّ أصلاً.
### هل يستطيع قصَّ دفعة كاملة القصَّ نفسه دفعة واحدة؟
نعم، بالزر الذي تحت المعاينة. يعطي كل صورة أخرى المساحة النسبية نفسها — الكسور نفسها من عرضها وارتفاعها هي — وهو لمجموعة لقطات شاشة أو تصديرات متساوية الحجم الإطارُ نفسه بالضبط، وتقول الصفحة ذلك. ومع نسبة مثبَّتة يعطي كلَّ واحدة أكبرَ إطار بتلك النسبة داخل تلك المساحة، فضغطُ 1:1 ثم ذلك الزر يخرج لك مربعات من مجلد فيه لقطات طولية وعرضية مختلطة. ويبقى كل إطار قابلاً للتعديل بعدها.
### ما الصيغ التي يقرؤها ويكتبها؟
يقرأ كل ما يستطيع متصفحك فك ترميزه، وهو عملياً JPEG وPNG وWebP وGIF وBMP و— على معظم المتصفحات الحالية — AVIF. ويكتب JPEG وPNG وWebP، لأن هذه هي المرمِّزات التي تأتي بها المتصفحات. وعلى «أبقِ على الصيغة» يبقى JPEG على حاله ويبقى PNG على حاله؛ وما لا يستطيع المتصفح كتابته، كـ GIF أو BMP، يخرج PNG، وهي الصيغة التي تحفظ الشفافية واللون المسطَّح سليمَين.
### ماذا يحدث للشفافية حين أحفظ بصيغة JPEG؟
تُملأ بلون الخلفية، لأن JPEG ليس فيه قناة ألفا تخزّنها. واللون لك تختاره، ويبدأ من الأبيض، وهو ما يريده معظم الناس وما تفعله كل أداة أخرى تقريباً دون أن تخبرك. ويُستخدَم اللون نفسه خلف الإطار المحشوّ. احفظ بصيغة PNG أو WebP بدلاً من ذلك فتمرّ الشفافية دون أن تُمسّ.
### هل يزيل بيانات EXIF وGPS؟
كلُّ ما يعالجه فعلاً، نعم، كأثر جانبي: فالقصّ أو تغيير الحجم يعني فكّ ترميز الصورة إلى بكسلات وإعادة ترميز تلك البكسلات، ولوحة البكسلات لا تحمل وسوماً، فالموقع وطراز الكاميرا والأوقات لا تُكتَب ببساطة في الملف الجديد. أما الملف الذي لا تغيّر فيه شيئاً فحالة أخرى — يُعاد إليك بايتاً بايتاً بوسومه كلها. وإن أردت البيانات الوصفية زائلة والصورة على حالها، فاستخدم [عارض EXIF ومُزيله](https://abox.tools/ar/إزالة-بيانات-exif/)، فهو يعيد كتابة الحاوية دون إعادة ضغط أي شيء.
### بمَ يختلف هذا عن ضاغط الصور؟
هذا شأنه الأبعاد: تقول كم بكسلاً تريد فيعطيك إياها. أما [ضاغط الصور](https://abox.tools/ar/ضغط-الصور/) فشأنه حجم الملف: تقول كم كيلوبايت مسموح لك به فيبحث عن أعلى جودة تتّسع له، ولا يصغّر الأبعاد إلا إن عجزت الجودة وحدها عن بلوغه. فإن قيل لك «عرضها 1200 بكسل» فأنت في المكان الصحيح. وإن قيل لك «دون 500 KB» فالأخرى ستقرّبك أكثر.
### هل هو مجاني، وهل أحتاج إلى حساب؟
هو مجاني، ولا حساب ولا تسجيل دخول ولا فترة تجريبية ولا علامة مائية. ولا حدّ لعدد الملفات ولا لأحجامها كذلك، إذ لا خادم يدفع ثمنها — فالعمل يجري على جهازك أنت. ويحمل الموقع إعلانات، وهي ما يدفع تكاليفه؛ ولا يُعطى المعلنون شيئاً عن صورك.
### هل يعمل دون اتصال؟
نعم. حمِّل الصفحة مرة، ثم اقطع اتصالك بالإنترنت وستظل تعمل. وهذه أيضاً أبسط طريقة لإثبات أنه لا يُرفع شيء: فأداةٌ ترسل صورك بعيداً ليُغيَّر حجمها كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.
## كيف يمكن التحقق من وعد الخصوصية
- **صورك لا سبيل لها إلى الخروج.** تُسمّي Content-Security-Policy كل عنوان يجوز لهذه الصفحة الاتصال به، وليس واحد منها لنا. فلا يوجد هنا طرفٌ تُجمَع عنده ملفاتك، ولا في الشيفرة ما يرسلها إليه لو وُجد.
- **لا شيء هنا يجلب شيئاً.** لا يوجد `fetch` ولا `XMLHttpRequest` ولا `sendBeacon` في أي موضع من `src/`. وتغيير الحجم هو `drawImage` واحد على لوحة و`canvas.toBlob` واحد — المُحجِّم والمرمِّز المثبَّتان في متصفحك أصلاً.
- **الملف الذي لم يطلب أحد تغييره لا يُغيَّر.** مع عدم وجود قص ولا تغيير حجم ولا تبديل صيغة، يُعاد إليك الملف الذي اخترته بايتاً بايتاً بدل أن يُحفَظ من جديد. وليس ذلك مجاملة فحسب: هو السبب في أن هذه الأداة لا تستطيع أن تعيد ترميز صورة في صمت، ولا أن تُسقط في صمت البيانات الوصفية لصورة أردت النظر إليها لا غير.
- **ما تُحمّله Google، وما لا يُعطى لها.** نصوص الإعلانات والقياس تأتي من Google، وزر التبرّع من Buy Me a Coffee. ولا يُعطى أيٌّ منها شيئاً عن صورك. وكل سطر يقرأ ملفاً أو يقصّه أو يحجّمه أو يكتبه يُخدَم من هذا الأصل نفسه ومُدرَج في المستودع.
- **يعمل دون اتصال.** اقطع الاتصال بالشبكة، وتبقى الأداة كما هي، لأنه لم تكن فيها خطوة شبكية قط. وهذا أبسط برهان على الإطلاق.
**تحقّق بنفسك.** لا شيء مما سبق عليك تصديقه دون تحقق. تُولَّد هذه الصفحة من القوالب والإعدادات في المستودع بواسطة سكربت بناء يمكنك قراءته وتشغيله بنفسك، والنتيجة موجودة في فرع `dist` — فقارِن إذن بين ما يُقدَّم فعلا وما ينتجه بناء المصادر: https://github.com/A-Box-of-Tools/website
الملفات الجديرة بالقراءة أولا هي `config/site.toml` من أجل سياسة أمان المحتوى (Content-Security-Policy)، و`src/geometry.js` للحساب الذي يقرّر ما يُبقى عليه وبأي حجم يخرج، و`src/codecs.js` لاستدعاء `drawImage` الواحد الذي يؤدي القصَّ وتغييرَ الحجم معاً.
كيف تغيّر حجم صورة دون رفعها
اختر صورك. أفلِتها على المُنتقي أو اخترها يدوياً. يقرؤها المتصفح من قرصك مباشرة، ولا يُرسَل شيء إلى أي مكان أثناء ذلك.
قُصَّ، إن أردت. يبدأ الإطار على الصورة كلها، فتركُه على حاله لا يقصّ شيئاً. اسحبه، أو ثبِّته على نسبة — 1:1 لصورة الملف الشخصي، و9:16 لقصة، و16:9 لمصغَّرة — واضغط «الأكبر» لأكبر إطار يتّسع. وتحتفظ كل صورة بإطارها الخاص: انقر أي صف في القائمة لترسم على تلك الصورة بدلاً منها. وإن أردتها كلها مؤطَّرة الإطار نفسه، فزرٌّ واحد يفعل ذلك أيضاً.
قل بأي حجم تخرج. عرضاً، أو ارتفاعاً، أو كليهما؛ أو أطول ضلع، وهو ما يجعل اللقطات الطولية والعرضية بالحجم نفسه؛ أو نسبة مئوية بسيطة. اترك أحد الحقلين فارغاً فتحتفظ الصورة بنسبتها.
اختر الصيغة، ثم اضغط الزر. أبقِ كل ملف على ما وصل به، أو اكتب الكل بصيغة JPEG أو PNG أو WebP. وتقول كل نتيجة إلامَ صارت وكم صغُرت؛ انقر إحداها لتفتحها بالحجم الكامل وأمامك كل الأرقام التي وراءها، والأصل بجانبها للمقارنة. وتنزل الدفعة في ملف zip واحد.
النسخة الأطول
كيف تغيّر حجم صورة دون أن تفسدهاماذا يحدث للصورة حين تغيّر أبعادها بالبكسل: لماذا التصغير آمن والتكبير ليس كذلك، وماذا تفعل حين يكون الإطار بشكل مختلف، ومتى تقتصّ بدل ذلك.
لا. يفكّ متصفحك أنت ترميز الملف ويقصّه ويحجّمه ويكتبه على جهازك أنت، بمرمِّزات JPEG وPNG وWebP التي يأتي بها المتصفح أصلاً. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — فهي لا تجلب شيئاً ولا ترسل شيئاً — وContent-Security-Policy الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به، وليس واحد منها لنا.
ماذا يحدث إن أعطيته عرضاً دون ارتفاع؟
يتبع الارتفاعُ نسبةَ الصورة نفسها، وهو المقصود في الغالب الأعم: «عرضه 1920» تعني «عرضه 1920 وارتفاعه ما يقتضيه ذلك». واملأ الحقلين معاً وقد يتعارض الاثنان مع نسبة الصورة، وهي المرة الوحيدة التي يظهر فيها خيار «إن تعارضت النسب» — احتواءٌ داخل الإطار، أو ملؤه وقطع الفائض، أو حشوه بلون خلفية، أو مطُّ الصورة وقبول التشوّه.
هل يُفقد تغييرُ حجم الصورة شيئاً من جودتها؟
تصغير الصورة لا يفعل، بأي قدر تراه العين: فالبكسلات الداخلة أكثر من الخارجة، والتفاصيل الباقية تفاصيل حقيقية. أما تكبيرها فلا يستطيع أن يضيف ما لم يُصوَّر أصلاً — والناتج نسخة أنعم من الصورة نفسها لا أحدّ منها — ولهذا كان «لا تكبّر صورة أبداً فوق ما بدأت به» مفعَّلاً افتراضياً. والذي يكلّف شيئاً يسيراً هو إعادة الترميز بعد ذلك، إن كانت الصيغة JPEG أو WebP، ومِزلاجُ الجودة هو ما تنفقه هناك.
هل أستطيع قصَّ كل صورة على نحو مختلف؟
نعم — وهذا هو الأصل. تحمل كل صورة في القائمة إطارها الخاص، ببكسلاتها هي، ونقرُ صفٍّ يضع تلك الصورة في المعاينة ومعها إطارها ونسبتها المثبَّتة. ولا يؤثّر ما تفعله بواحدة في غيرها. كما يبدأ كل إطار على الصورة كلها، فالصورة التي لم ترسم عليها قط لا تُقصّ أصلاً.
هل يستطيع قصَّ دفعة كاملة القصَّ نفسه دفعة واحدة؟
نعم، بالزر الذي تحت المعاينة. يعطي كل صورة أخرى المساحة النسبية نفسها — الكسور نفسها من عرضها وارتفاعها هي — وهو لمجموعة لقطات شاشة أو تصديرات متساوية الحجم الإطارُ نفسه بالضبط، وتقول الصفحة ذلك. ومع نسبة مثبَّتة يعطي كلَّ واحدة أكبرَ إطار بتلك النسبة داخل تلك المساحة، فضغطُ 1:1 ثم ذلك الزر يخرج لك مربعات من مجلد فيه لقطات طولية وعرضية مختلطة. ويبقى كل إطار قابلاً للتعديل بعدها.
ما الصيغ التي يقرؤها ويكتبها؟
يقرأ كل ما يستطيع متصفحك فك ترميزه، وهو عملياً JPEG وPNG وWebP وGIF وBMP و— على معظم المتصفحات الحالية — AVIF. ويكتب JPEG وPNG وWebP، لأن هذه هي المرمِّزات التي تأتي بها المتصفحات. وعلى «أبقِ على الصيغة» يبقى JPEG على حاله ويبقى PNG على حاله؛ وما لا يستطيع المتصفح كتابته، كـ GIF أو BMP، يخرج PNG، وهي الصيغة التي تحفظ الشفافية واللون المسطَّح سليمَين.
ماذا يحدث للشفافية حين أحفظ بصيغة JPEG؟
تُملأ بلون الخلفية، لأن JPEG ليس فيه قناة ألفا تخزّنها. واللون لك تختاره، ويبدأ من الأبيض، وهو ما يريده معظم الناس وما تفعله كل أداة أخرى تقريباً دون أن تخبرك. ويُستخدَم اللون نفسه خلف الإطار المحشوّ. احفظ بصيغة PNG أو WebP بدلاً من ذلك فتمرّ الشفافية دون أن تُمسّ.
هل يزيل بيانات EXIF وGPS؟
كلُّ ما يعالجه فعلاً، نعم، كأثر جانبي: فالقصّ أو تغيير الحجم يعني فكّ ترميز الصورة إلى بكسلات وإعادة ترميز تلك البكسلات، ولوحة البكسلات لا تحمل وسوماً، فالموقع وطراز الكاميرا والأوقات لا تُكتَب ببساطة في الملف الجديد. أما الملف الذي لا تغيّر فيه شيئاً فحالة أخرى — يُعاد إليك بايتاً بايتاً بوسومه كلها. وإن أردت البيانات الوصفية زائلة والصورة على حالها، فاستخدم عارض EXIF ومُزيله، فهو يعيد كتابة الحاوية دون إعادة ضغط أي شيء.
بمَ يختلف هذا عن ضاغط الصور؟
هذا شأنه الأبعاد: تقول كم بكسلاً تريد فيعطيك إياها. أما ضاغط الصور فشأنه حجم الملف: تقول كم كيلوبايت مسموح لك به فيبحث عن أعلى جودة تتّسع له، ولا يصغّر الأبعاد إلا إن عجزت الجودة وحدها عن بلوغه. فإن قيل لك «عرضها 1200 بكسل» فأنت في المكان الصحيح. وإن قيل لك «دون 500 KB» فالأخرى ستقرّبك أكثر.
هل هو مجاني، وهل أحتاج إلى حساب؟
هو مجاني، ولا حساب ولا تسجيل دخول ولا فترة تجريبية ولا علامة مائية. ولا حدّ لعدد الملفات ولا لأحجامها كذلك، إذ لا خادم يدفع ثمنها — فالعمل يجري على جهازك أنت. ويحمل الموقع إعلانات، وهي ما يدفع تكاليفه؛ ولا يُعطى المعلنون شيئاً عن صورك.
هل يعمل دون اتصال؟
نعم. حمِّل الصفحة مرة، ثم اقطع اتصالك بالإنترنت وستظل تعمل. وهذه أيضاً أبسط طريقة لإثبات أنه لا يُرفع شيء: فأداةٌ ترسل صورك بعيداً ليُغيَّر حجمها كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.