← المدونة
4 دقائق قراءة

لماذا تنقلب صورتك جانبياً بعد رفعها؟

الصورة معتدلة على هاتفك ومائلة في نموذج الرفع؟ تعرّف على وسم اتجاه Exif، وكيف تميّز البكسلات المُدارة من الوسم، وكيف تحسم الأمر نهائياً.

  • exif orientation
  • photo rotation
  • product photography
  • image upload
  • jpeg
  • webp
  • marketplace listings
  • file metadata
لماذا تنقلب صورتك جانبياً بعد رفعها؟

تلتقط صورة منتج بهاتفك، تدير الجهاز، وتضغط زر التصوير. على الشاشة تبدو الصورة معتدلة. لكنها تصل إلى نموذج الرفع في المتجر الإلكتروني مستلقية على جانبها — الملف نفسه، لكنه منحرف ربع دورة.

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

ملفك في إحدى حالتين، والتمييز بينهما لا يحتاج سوى فحص واحد.

الكاميرا تحفظ الصورة كما رآها المستشعر

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

لقطة قريبة لجسم كاميرا بعد نزع العدسة، تُظهر حامل العدسة المعدني المفتوح وعرضه أكبر من ارتفاعه

كثير من الكاميرات تتجنّب إعادة كتابة ملايين البكسلات، وتكتب بدلاً من ذلك رقماً صغيراً في البيانات الوصفية معناه «أدر هذه الصورة ربع دورة قبل عرضها». وكاميرات أخرى تدير البكسلات عند الحفظ وتعلّم الملف بأنه معتدل بالفعل — ولهذا يتصرف هاتفان بشكل مختلف مع اللقطة نفسها. في ملف JPEG هذا الرقم هو وسم Exif رقم 274 المسمى Orientation، ويمكنه وصف الإطارات المعكوسة كالمرآة إضافة إلى الدورات.

بعض القارئات تحترم الوسم وبعضها يتجاهله

المتصفحات الحديثة تقرؤه فعلاً. خاصية CSS المسماة image-orientation قيمتها الأولية from-image؛ ويقولها موقع MDN بوضوح: «تُستخدم معلومات EXIF الموجودة في الصورة لتدويرها على النحو الملائم». وهذا يعمل في جميع المتصفحات منذ أبريل 2020.

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

فالسؤال إذن ليس أبداً «هل صورتي جانبية؟» بل «هل قرأ الوسمَ ما يعرضها؟». معرض صورك يقرؤه. أما مولّد الصور المصغّرة في المتجر الإلكتروني فقد لا يفعل.

التدوير في معرض الصور قد لا يعيد كتابة سوى الوسم

اضغط زر التدوير وستعتمد النتيجة على التطبيق. قد يحدث أمران مختلفان تماماً.

يد تمسك هاتفاً ذكياً في الخارج، وشاشته تعرض تطبيق معرض صور مليئاً بالصور

  • يغيّر التطبيق قيمة الاتجاه ويترك بيانات البكسلات دون مساس. تغيير فوري وبلا فقد وغير مرئي لأي شيء يتجاهل الوسم: صورتك ما تزال جانبية داخل الملف.
  • يعيد التطبيق الترميز: يفكّ ترميز البكسلات ويديرها ويكتب ملفاً جديداً مع إعادة ضبط الوسم. هكذا يصبح التدوير مدمجاً ويصمد في كل مكان. مع ملف PNG أو WebP غير الفاقد لا يكلّف ذلك شيئاً؛ أما مع JPEG فيكلّف عادة جيلاً واحداً من إعادة الترميز، ثمن يستحق الدفع مرة واحدة ولا يستحق التكرار.

أي المسارين يسلكه التطبيق أمر لا يمكنك معرفته من الزر، وقد تغيّر بين إصدارات التطبيق نفسه. لا تفترض شيئاً؛ افحص الناتج.

والأسوأ أداة تدير البكسلات لكنها تنسخ البيانات الوصفية القديمة كما هي: الوسم ما يزال يقول «أدر»، والبكسلات مُدارة بالفعل، فتدير القارئات الملتزمة بالوسم الصورة مرتين.

كيف تعرف في أي حالة ملفك

لا يمكنك حسم الأمر بالتدقيق في النظر، بل بفحص شيء ليس معاينة.

يدان تمسكان هاتفاً ذكياً يعرض صوراً فوتوغرافية، مرفوعاً أمام حاسوب محمول مفتوح تعرض شاشته معرض صور مماثلاً في متصفح

  • قارن الشكل بالأرقام. إذا كانت صورة تبدو عمودية تظهر في خصائص الملف أعرض مما هي أطول، فالبكسلات أفقية والوسم هو من يقوم بالعمل. بعض العارضات تصحّح تلك الأرقام أيضاً، لذا فالتعارض يثبت أكثر مما يثبته التطابق.
  • اقرأ الوسم نفسه. المتصفحات وعارضات سطح المكتب وصور مدير الملفات المصغّرة كلها تقريباً تحترم الوسم الآن، فاتفاقها لا يثبت شيئاً. اعمل على نسخة، لا على الأصل أبداً، وافتحها في عارض Exif لقراءة قيمة Orientation مباشرة. أي قيمة غير 1، وتُعرض غالباً باسم «Normal»، تعني أن الوسم هو من يقوم بالعمل وأن البكسلات ليست معتدلة.

احسم الاتجاه قبل أن يلمس الملفَ أي شيء آخر

يقبل remover.bg ملفات PNG وJPEG وWebP حتى 25 MB ويعيد إليك ملفاً جديداً بعد إزالة الخلفية. إنه أداة لإزالة الخلفية، لا محرر صور: فالتدوير مكانه محرر الصور في هاتفك أو أداة التصميم لديك، قبل الرفع.

هذا الترتيب مهم لأنك تنشئ ملفاً جديداً. لكل من PNG وحاوية WebP مكان لبيانات Exif — فمواصفة WebP من Google تسمح بالبيانات الوصفية «في مقاطع 'EXIF' أو 'XMP '» — لكن كتابة المحرر الذي أدرت فيه الصورة لأي منها في ملف التصدير قرارٌ يعود إلى ذلك المحرر، لا إليك. ادمج التدوير في البكسلات فلا يبقى وسم يمكن فقدانه. ملاحظاتنا حول تصدير WebP مباشرة تغطي هذا التنسيق.

ترتيب عمل ناجح:

  1. أدر الصورة في محرر وصدّر نسخة، بدلاً من ضغط زر التدوير في معرض الصور.
  2. افحص قيمة Orientation في تلك النسخة المصدَّرة.
  3. ارفعها لإزالة الخلفية.
  4. ضع الصورة المقصوصة على لون موحّد أو على صورتك الخاصة، مع ظل ساقط خفيف إن كانت تحتاج إلى الاستقرار على سطح.

على الفرق التي تدفع أحجاماً كبيرة عبر واجهة HTTP API من أجل إزالة الخلفية بالمعالجة المجمّعة أن توحّد الاتجاه في خط المعالجة أولاً: فمصدر جانبي واحد يصبح صورة مقصوصة جانبية واحدة، مكررة ألف مرة. الاتجاه يقع خارج قواعد الخلفية في دليلنا لصور أمازون، لكن قائمة منتج جانبية تبدو مهملة مهما أتقنت ما سواها.

العادة التي تستحق الاكتساب

ثق بالملف لا بالمعاينة. أدر الصورة بالتصدير واقرأ قيمة Orientation مرة واحدة في النسخة؛ عندها تكون الصورة معتدلة في المتصفح وفي مولّد الصور المصغّرة وفي طابور الطباعة على السواء.

واصل القراءة