اتجاه الصورة هو الجهة التي تواجهك عندما تنظر إليها: قائمة، مقلوبة، على جانبها أو معكوسة. في بيانات الملف الوصفية، يوضح حقل Orientation للبرامج كيفية تدوير الصورة المخزنة بحيث تظهر قائمة.
في التصوير الفوتوغرافي، غالبا ما يعني الاتجاه عمودي أو أفقي. الصورة العمودية أطول مما هي أعرض، والصورة الأفقية أعرض مما هي أطول. عندما تلتقط صورة، يحفظ الكاميرا أو الهاتف طريقة إمساكك له كبيانات اتجاه داخل الملف.
ما هي الملفات التي تحمله
وسم Orientation جزء من معيار Exif، الذي يأخذ هذا الوسم من تنسيق TIFF. معرّف الوسم هو 0x0112، أو 274 بالنظام العشري. يدرجه المعيار كوسم موصى به للصورة الرئيسية، وتجد هذا الوسم في الملفات التالية:
- JPG وصور TIFF من الكاميرات والهواتف
- HEIC وصور PNG و WebP، والتي يمكنها جميعا احتواء كتلة من بيانات Exif
يمكن لملف HEIC أيضا تخزين الدوران والعكس كخصائص منفصلة في الحاوية نفسها، باسم irot و imir. تضيف بعض الكاميرات وسما خاصا أيضا. بعض طرازات Canon تكتب CameraOrientation، ويعرضه تقرير البيانات الوصفية على شكل Horizontal (normal) أو Rotate 90 CW أو Rotate 270 CW.
كيف تبدو القيم
داخل الملف، تكون القيمة رقما من 1 إلى 8. يحدد كل رقم مكان الصف الأول والعمود الأول من البكسلات المخزنة على الشاشة. يعرض تقرير البيانات الوصفية عادة المعنى بالكلمات، حيث تعني CW مع اتجاه عقارب الساعة:
- القيمة
1هيHorizontal (normal): تُخزَّن الصورة قائمة، لذلك لا يحدث أي تغيير - القيمة
3هيRotate 180: تُخزَّن الصورة مقلوبة رأسا على عقب - القيمة
6هيRotate 90 CW: يدوّر البرنامج الصورة 90 درجة مع اتجاه عقارب الساعة قبل عرضها - القيمة
8هيRotate 270 CW: يدوّر البرنامج الصورة 270 درجة مع اتجاه عقارب الساعة، وهو ما يساوي 90 درجة عكس اتجاه عقارب الساعة - القيم
2و4و5و7تضيف عكسا مرآويا، مثلMirror horizontalعلى سبيل المثال
يضع المعيار جميع الأرقام الأخرى في خانة المحجوز. لذلك فالقيمة خارج النطاق من 1 إلى 8 ليست لها دلالة محددة.
كيفية تخزين مقاطع الفيديو للدوران
تتعامل ملفات الفيديو مع الاتجاه بطريقة مختلفة. يحفظ ملف MP4 أو MOV مصفوفة عرض في ترويسة مسار الفيديو. تخبر هذه المصفوفة مشغّل الفيديو بكيفية تدوير الإطارات أو عكسها قبل عرضها.
تحوّل البرامج التي تقرأ البيانات الوصفية هذه المصفوفة إلى زاوية واحدة بالدرجات. يعدّ ExifTool الزاوية مع اتجاه عقارب الساعة، بينما يعدّها FFmpeg عكس اتجاه عقارب الساعة ضمن نطاق من -180 إلى 180. لذلك يمكن أن يعرض نفس الفيديو القيمة 90 في تقرير واحد و -90 في تقرير آخر.
لماذا هذا مهم لملفك
لا تغيّر قيمة Orientation موضع أي بكسل. تظل البكسلات بالترتيب الذي حفظها به الكاميرا، والوسم يخبر عارض الصور فقط بكيفية عرضها. تطبق متصفحات الويب هذا الوسم بشكل افتراضي، لكن برنامجا يتجاهله سيعرض صورة عمودية وهي على جانبها.
لهذا السبب أيضا قد تبدو قيم العرض والارتفاع معكوسة. يصف كل من Image Width و Image Height البكسلات المخزنة قبل أي تدوير. لذلك يمكن لصورة عمودية مع Rotate 90 CW أن تبلغ عن عرض أكبر من ارتفاعها.
يمكن أن يسبب التحرير مشكلة ثانية. إذا قام برنامج بتدوير البكسلات لكنه أبقى على الوسم القديم، تُدوَّر الصورة مرتين. يوصي معيار Exif بأن تعيد برامج التحرير ضبط Orientation إلى القيمة 1 بعد تدوير الصورة.
تستخدم صفحات PDF حقلا خاصا بها. يقوم Page Rotation بتدوير الصفحة بالكامل مع اتجاه عقارب الساعة بخطوات مقدارها 90 درجة عند عرض الصفحة أو طباعتها.