تصویر کی orientation سے مراد وہ سمت ہے جس رخ پر تصویر آپ کو نظر آتی ہے: سیدھی، الٹی، ایک طرف گھومی ہوئی، یا آئینہ بنی ہوئی۔ فائل کے metadata میں Orientation فیلڈ سافٹ ویئر کو بتاتی ہے کہ محفوظ شدہ تصویر کو کیسے گھمائے تاکہ وہ سیدھی دکھائی دے۔
فوٹوگرافی میں orientation سے عموماً مراد portrait یا landscape ہوتی ہے۔ portrait تصویر اونچی ہوتی ہے اور چوڑی کم، جبکہ landscape تصویر چوڑی زیادہ اور اونچی کم ہوتی ہے۔ جب آپ کوئی تصویر کھینچتے ہیں تو کیمرا یا فون فائل کے اندر orientation کے طور پر یہ محفوظ کرتا ہے کہ آپ نے اسے کس زاویے سے پکڑا ہوا تھا۔
کون سی فائلیں اسے رکھتی ہیں
Orientation ٹیگ Exif معیار (standard) کا حصہ ہے، جو اسے TIFF فارمیٹ سے لیتا ہے۔ اس کا tag ID 0x0112 ہے، یا decimal میں 274۔ معیار اسے مین تصویر کے لیے تجویز کردہ ٹیگ کے طور پر درج کرتا ہے، اور آپ کو یہ درج ذیل فائلوں میں ملتا ہے:
- JPG اور TIFF تصاویر جو کیمروں اور فونز سے لی گئی ہوں
- HEIC، PNG اور WebP تصاویر، جو سب Exif ڈیٹا کا ایک بلاک محفوظ کر سکتی ہیں
HEIC فائل اپنے container میں rotation اور mirroring کو الگ properties کے طور پر بھی محفوظ کر سکتی ہے، جن کے نام irot اور imir ہوتے ہیں۔ کچھ کیمرے ایک نجی (private) ٹیگ بھی شامل کرتے ہیں۔ کچھ Canon ماڈلز CameraOrientation لکھتے ہیں، جسے metadata رپورٹ میں Horizontal (normal)، Rotate 90 CW یا Rotate 270 CW کے طور پر دکھایا جاتا ہے۔
قدریں کیسی نظر آتی ہیں
فائل کے اندر یہ قدر 1 سے 8 تک ایک عدد ہوتی ہے۔ ہر عدد بتاتا ہے کہ محفوظ شدہ پکسلز کی پہلی سطر اور پہلا کالم اسکرین پر کہاں ہونا چاہیے۔ metadata رپورٹ عموماً اس کا مطلب الفاظ میں دکھاتی ہے، جہاں CW کا مطلب clockwise ہوتا ہے:
1یعنیHorizontal (normal): تصویر سیدھی حالت میں محفوظ ہوتی ہے، اس لیے کچھ نہیں بدلا جاتا3یعنیRotate 180: تصویر الٹی حالت میں محفوظ ہوتی ہے6یعنیRotate 90 CW: سافٹ ویئر تصویر کو دکھانے سے پہلے اسے 90 ڈگری clockwise گھماتا ہے8یعنیRotate 270 CW: سافٹ ویئر تصویر کو 270 ڈگری clockwise گھماتا ہے، جو 90 ڈگری counterclockwise کے برابر ہے2،4،5اور7میں آئینے جیسا الٹاؤ (mirror flip) بھی شامل ہوتا ہے، مثال کے طور پرMirror horizontal
معیار بقیہ تمام اعداد کو reserved کے طور پر نشان زد کرتا ہے۔ اس لیے 1 سے 8 سے باہر کی کسی قدر کا کوئی متعین مطلب نہیں ہوتا۔
ویڈیو گھماؤ کیسے محفوظ کرتی ہیں
ویڈیو فائلیں orientation کو مختلف طریقے سے سنبھالتی ہیں۔ ایک MP4 یا MOV فائل اپنی ویڈیو ٹریک کے ہیڈر میں ایک display matrix محفوظ کرتی ہے۔ یہ matrix پلیئر کو بتاتی ہے کہ فریمز کو دکھانے سے پہلے کیسے گھمائے یا الٹا دے۔
جو پروگرام metadata پڑھتے ہیں، وہ اس matrix کو ڈگری میں ایک ہی زاویے میں تبدیل کر دیتے ہیں۔ ExifTool زاویہ کو clockwise گنتا ہے، جبکہ FFmpeg اسے -180 سے 180 کی حد کے اندر counterclockwise گنتا ہے۔ اسی ویڈیو میں اس لیے ایک رپورٹ میں 90 اور دوسری میں -90 دکھایا جا سکتا ہے۔
آپ کی فائل کے لیے یہ کیوں اہم ہے
Orientation کی قدر خود کسی پکسل کو نہیں ہلاتی۔ پکسلز اسی ترتیب میں رہتے ہیں جس میں کیمرے نے انہیں محفوظ کیا تھا، اور ٹیگ صرف ویوئر کو بتاتا ہے کہ انہیں کیسے دکھانا ہے۔ ویب براؤزر عام طور پر یہ ٹیگ خود ہی لاگو کرتے ہیں، لیکن جو پروگرام اسے نظر انداز کرے، وہ portrait تصویر کو ایک طرف لیٹی ہوئی دکھاتا ہے۔
اسی وجہ سے چوڑائی اور اونچائی بھی آپ کو الٹی نظر آ سکتی ہے۔ Image Width اور Image Height محفوظ شدہ پکسلز کو کسی بھی گھماؤ سے پہلے بیان کرتے ہیں۔ اس لیے Rotate 90 CW والی portrait تصویر ایسی چوڑائی رپورٹ کر سکتی ہے جو اس کی اونچائی سے زیادہ ہو۔
ایڈیٹنگ ایک دوسرا مسئلہ بھی پیدا کر سکتی ہے۔ اگر کوئی پروگرام پکسلز کو تو گھما دے لیکن پرانا ٹیگ برقرار رکھے، تو تصویر دو بار گھم جاتی ہے۔ Exif معیار تجویز کرتا ہے کہ جب ایڈیٹنگ سافٹ ویئر کسی تصویر کو گھمائے تو Orientation کو واپس 1 پر سیٹ کر دے۔
PDF صفحات کے لیے الگ فیلڈ استعمال ہوتی ہے۔ Page Rotation ایک پورے صفحے کو دکھاتے یا پرنٹ کرتے وقت 90 ڈگری کے مرحلوں میں clockwise گھماتی ہے۔