ইমেজ orientation হল সেই দিক, যেদিকে কোনো ছবি আপনার চোখে দেখা যায়: সোজাভাবে, উল্টো, পাশ ফিরিয়ে, বা আয়নাবাঁকানো। ফাইলের মেটাডেটায় Orientation ফিল্ড সফটওয়্যারকে জানায়, সংরক্ষিত ছবিটিকে কীভাবে ঘোরাতে হবে যেন সেটি সোজা দেখা যায়।
ফটোগ্রাফিতে orientation প্রায়ই portrait বা landscape বোঝায়। Portrait ছবি উচ্চতায় চওড়ার চেয়ে বেশি, আর landscape ছবি চওড়ায় উচ্চতার চেয়ে বেশি। আপনি যখন ছবি তোলেন, তখন ক্যামেরা বা ফোন আপনি যেভাবে ধরে রেখেছেন, সেটি orientation ডেটা হিসেবে ফাইলে সংরক্ষণ করে।
কোন ফাইলগুলো এটিকে বহন করে
Orientation ট্যাগ Exif স্ট্যান্ডার্ডের অংশ, যা এটি TIFF ফরম্যাট থেকে নিয়েছে। এর ট্যাগ আইডি হল 0x0112, দশমিক পদ্ধতিতে 274। স্ট্যান্ডার্ডটি এটিকে মূল ছবির জন্য প্রস্তাবিত ট্যাগ হিসেবে দেয়, এবং আপনি এটি নিচের ফাইলগুলোতে পাবেন:
- JPG এবং TIFF ছবি, ক্যামেরা ও ফোন থেকে
- HEIC, PNG এবং WebP ছবি, যেগুলো সবই একটি Exif ডেটা ব্লক রাখতে পারে
একটি HEIC ফাইল rotation এবং mirroring আলাদা কনটেইনার প্রোপার্টি হিসেবেও সংরক্ষণ করতে পারে, যেগুলোর নাম 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 flip যোগ করে, উদাহরণ হিসেবেMirror horizontal
স্ট্যান্ডার্ড সব অন্যান্য সংখ্যাকে সংরক্ষিত (reserved) হিসেবে চিহ্নিত করে। তাই 1 থেকে 8-এর বাইরে কোনো মানের নির্ধারিত অর্থ নেই।
ভিডিও কীভাবে ঘোরানোর তথ্য সংরক্ষণ করে
ভিডিও ফাইল orientation ভিন্নভাবে ব্যবহার করে। একটি MP4 বা MOV ফাইলে ভিডিও ট্র্যাকের হেডারে একটি display matrix থাকে। এই ম্যাট্রিক্স প্লেয়ারকে বলে, ফ্রেমগুলো দেখানোর আগে কীভাবে ঘোরাতে বা উল্টাতে হবে।
যে প্রোগ্রামগুলো মেটাডেটা পড়ে, তারা এই ম্যাট্রিক্সকে ডিগ্রিতে একটি কোণে রূপান্তর করে। ExifTool কোণকে ঘড়ির কাঁটার দিকে গোনে, আর FFmpeg ঘড়ির কাঁটার বিপরীতে, -180 থেকে 180 সীমার মধ্যে। তাই একই ভিডিওর ক্ষেত্রে একটি রিপোর্টে 90 এবং অন্য এক রিপোর্টে -90 দেখা যেতে পারে।
আপনার ফাইলের জন্য এটি কেন গুরুত্বপূর্ণ
Orientation মান কোনো পিক্সেলকে সরায় না। পিক্সেলগুলো ক্যামেরা যেভাবে সংরক্ষণ করেছে, সেভাবেই থাকে, আর ট্যাগটি কেবল ভিউয়ারকে জানায়, এগুলো কীভাবে দেখাতে হবে। ওয়েব ব্রাউজার ডিফল্টভাবে এই ট্যাগ প্রয়োগ করে, কিন্তু কোনো প্রোগ্রাম এটি উপেক্ষা করলে portrait ছবি পাশ ফিরে শোয়া অবস্থায় দেখা যায়।
এ কারণেই প্রস্থ এবং উচ্চতা কখনও কখনও অদলবদল মনে হতে পারে। Image Width এবং Image Height কোনো ঘোরানোর আগের সংরক্ষিত পিক্সেল বর্ণনা করে। তাই Rotate 90 CW সহ একটি portrait ছবিতে রিপোর্টে প্রস্থ উচ্চতার চেয়ে বেশি দেখাতে পারে।
এডিটিং আরেকটি সমস্যা তৈরি করতে পারে। যদি কোনো প্রোগ্রাম পিক্সেল ঘুরিয়ে দেয় কিন্তু পুরনো ট্যাগ রেখে দেয়, তাহলে ছবিটি দুবার ঘোরানো হয়। Exif স্ট্যান্ডার্ড সুপারিশ করে, কোনো ইমেজ ঘোরানোর পর এডিটিং সফটওয়্যার যেন Orientation মান আবার 1 এ সেট করে।
PDF পেজের জন্য আলাদা একটি ফিল্ড থাকে। Page Rotation কোনো পেজ দেখানো বা প্রিন্ট করার সময় পুরো পেজকে 90 ডিগ্রি করে ধাপে ধাপে ঘড়ির কাঁটার দিকে ঘোরায়।