আল্ট্রা এইচডিআর ইমেজ ফরম্যাট উজ্জ্বলতার তথ্য এনকোড করে, যা ডিভাইসগুলোকে আরও উজ্জ্বল এবং তীব্র রঙের ছবি প্রদর্শন করতে সাহায্য করে। আপনার অ্যাপ যখন একটি আল্ট্রা এইচডিআর ইমেজ এডিট করে, তখন সেই উজ্জ্বলতার তথ্যটি যেন অক্ষুণ্ণ থাকে, তা নিশ্চিত করতে হবে। ব্যবহারকারীর ডিভাইস যদি পূর্ণ তীব্রতায় আল্ট্রা এইচডিআর ইমেজ প্রদর্শনে সক্ষম নাও হয়, তবুও এটি গুরুত্বপূর্ণ। কারণ, ব্যবহারকারী হয়তো তার ছবিটি এমন কারো সাথে শেয়ার করতে পারেন যার ডিভাইস আল্ট্রা এইচডিআর সমর্থন করে, অথবা তিনি ছবিটি সংরক্ষণ করে কয়েক বছর পর একটি নতুন ডিভাইসে আবার দেখতে পারেন।
সুখবর হলো, বিটম্যাপ সম্পাদনার জন্য বেশিরভাগ অ্যান্ড্রয়েড পদ্ধতিই আল্ট্রা এইচডিআর ইমেজ ফরম্যাট সমর্থন করে। আপনি যদি কোনো ছবিতে সাধারণ সম্পাদনা, যেমন ক্রপ করা বা ঘোরানোর মতো কাজ করেন, তবে সাধারণ অ্যান্ড্রয়েড পদ্ধতিতেই তা হয়ে যায়—এর ফলে আপনি নতুন মাপ বা অভিমুখসহ একটি আল্ট্রা এইচডিআর ছবি পাবেন।
যদি আপনি ছবিটির বিষয়বস্তু পরিবর্তন করেন, তবে কাজটি আরও জটিল হয়ে যায়। সেক্ষেত্রে, প্রচলিত সম্পাদনা পদ্ধতিগুলো পুরোনো ছবিটির উজ্জ্বলতার তথ্য অক্ষুণ্ণ রাখে, যা হয়তো আপনি চান না। এই পরিস্থিতিতে, সঠিক ফলাফল পাওয়ার জন্য আপনাকে গেইন ম্যাপ (যা ছবিটির উজ্জ্বলতার তথ্য এনকোড করে) সম্পাদনা বা অপসারণ করতে হতে পারে।
আল্ট্রা এইচডিআর ফরম্যাটের সংক্ষিপ্ত বিবরণ
আল্ট্রা এইচডিআর ইমেজ ফরম্যাটটি আল্ট্রা এইচডিআর ইমেজ স্পেসিফিকেশন- এ বিস্তারিতভাবে বর্ণনা করা হয়েছে। সবচেয়ে গুরুত্বপূর্ণ যে বিষয়টি বুঝতে হবে তা হলো, একটি আল্ট্রা এইচডিআর ইমেজে একটি প্রাইমারি ইমেজ এবং একটি গেইন ম্যাপ উভয়ই থাকে।
- প্রাথমিক চিত্রটিতে ছবিটির প্রতিটি পিক্সেলের রঙের তথ্য থাকে।
- গেইন ম্যাপ হলো একটি স্ট্যান্ডার্ড JPEG ইমেজ, যার অনুপাত মূল ইমেজের মতোই, যদিও এর পিক্সেল ডাইমেনশন একই নাও হতে পারে। গেইন ম্যাপের প্রতিটি পিক্সেল মূল ইমেজের সংশ্লিষ্ট অংশের উজ্জ্বলতা নির্দিষ্ট করে।
গেইন ম্যাপটি গ্রেস্কেল বা রঙিন হতে পারে। যদি গেইন ম্যাপটি রঙিন হয়, তবে এর প্রতিটি কালার চ্যানেল প্রাইমারি ইমেজের সংশ্লিষ্ট অংশে সেই কালার চ্যানেলের লুমিন্যান্স নির্দিষ্ট করে। যদি গেইন ম্যাপটি গ্রেস্কেল হয়, তবে এর প্রতিটি পিক্সেল প্রাইমারি ইমেজের সেই অংশে তিনটি কালার চ্যানেলেরই লুমিন্যান্স নির্দিষ্ট করে।
গেইন ম্যাপের অনুপাত অবশ্যই মূল ছবির সমান হতে হবে, কিন্তু এর পিক্সেল ডাইমেনশন একই হওয়ার কোনো বাধ্যবাধকতা নেই। প্রকৃতপক্ষে, অ্যান্ড্রয়েড প্ল্যাটফর্ম যখন আল্ট্রা এইচডিআর ছবি তৈরি করে, তখন এটি মূল ছবির চেয়ে কম প্রস্থ ও উচ্চতার একটি গেইন ম্যাপ তৈরি করে; এর ফলে ফাইলের আকার উল্লেখযোগ্যভাবে ছোট হয়, কিন্তু একটি ভালো ফলাফলের জন্য প্রয়োজনীয় তথ্য এতেই সংরক্ষিত থাকে। এর মানে হলো, গেইন ম্যাপের প্রতিটি পিক্সেল মূল ছবির একাধিক পিক্সেলের উজ্জ্বলতার তথ্য সংরক্ষণ করতে পারে।
বেসিক আল্ট্রা এইচডিআর এডিট
যদি আপনি একটি আল্ট্রা এইচডিআর ইমেজে মৌলিক রূপান্তর করার জন্য অ্যান্ড্রয়েড Bitmap এপিআই ব্যবহার করেন, তাহলে মেথডগুলো গেইন ম্যাপে যথাযথ পরিবর্তন করে। নিম্নলিখিত Bitmap অপারেশনগুলো সমর্থিত:
- ঘূর্ণন: আপনি যদি একটি আল্ট্রা এইচডিআর ছবি ঘোরান, তাহলে এই পদ্ধতিটি গেইন ম্যাপটিকেও ঘুরিয়ে দেয়।
- ক্রপ: আপনি যদি একটি আল্ট্রা এইচডিআর ইমেজ ক্রপ করেন, তাহলে এই পদ্ধতিটি গেইন ম্যাপটিকে যথাযথভাবে ক্রপ করে।
- স্কেল: যদি আপনি একটি আল্ট্রা এইচডিআর ইমেজ স্কেল করেন, তবে এই পদ্ধতিটি গেইন ম্যাপটিকে এমনভাবে স্কেল করে যাতে এর প্রস্থ এবং উচ্চতা, রিসাইজ করা মূল ইমেজটির অর্ধেক হয়।
উভয় ক্ষেত্রেই উজ্জ্বলতার তথ্য সংরক্ষিত থাকে।
উন্নত আল্ট্রা এইচডিআর সম্পাদনা
আপনি যদি একটি আল্ট্রা এইচডিআর ছবিতে আরও বিশদ সম্পাদনা করেন, তাহলে গেইন ম্যাপটি অপরিবর্তিত থাকে, যার ফলে আপনি হয়তো আপনার কাঙ্ক্ষিত ফলাফল নাও পেতে পারেন।
যেসব সাধারণ সম্পাদনার ফলে এই পরিস্থিতি তৈরি হতে পারে, সেগুলো হলো:
- স্টিকার বা ইমোজি যোগ করা: যোগ করা স্টিকারটির উজ্জ্বলতা এবং রঙের প্রাণবন্ততার মান, যে স্থানে এটি লাগানো হয়েছে সেই স্থানের মতোই হবে।
- দ্বিতীয় একটি ছবি স্থাপন করা: নতুন ছবিটি যে বিষয়বস্তুর উপর স্থাপন করা হচ্ছে, তার উজ্জ্বলতা এবং রঙের প্রাণবন্ততার তথ্য ব্যবহার করবে।
- ফিল্টার যোগ করা: পুরানো গেইন ম্যাপের তথ্য পরিবর্তিত প্রাথমিক ছবির জন্য উপযুক্ত নাও হতে পারে।
প্রতিটি ক্ষেত্রেই, পুরানো উজ্জ্বলতা এবং রঙের প্রাণবন্ততার তথ্য সংরক্ষিত থাকে, কিন্তু তা পরিবর্তিত চিত্রটির জন্য উপযুক্ত নাও হতে পারে।
যদি মূল গেইন ম্যাপটি সম্পাদিত ছবির জন্য উপযুক্ত হয়, তবে আপনাকে কিছুই করতে হবে না। যদি আপনি গেইন ম্যাপটি পরিবর্তন করতে চান , তবে সাধারণ কার্যপ্রবাহটি হলো:
-
Bitmap.getGainmap()কল করে ইমেজটির বর্তমান গেইন ম্যাপটি সংগ্রহ করুন এবং ক্যাশে করুন। - মূল ছবিটি ইচ্ছামতো পরিবর্তন করুন।
ক্যাশ করা গেইন ম্যাপে সংশ্লিষ্ট পরিবর্তনগুলো করুন। উদাহরণস্বরূপ, যদি আপনি মূল ছবিতে একটি ইমোজি পেস্ট করেন, তাহলে আপনি গেইন ম্যাপের সংশ্লিষ্ট অংশটিকে
Color.GRAYমতো একটি নিরপেক্ষ মানে সেট করতে পারেন।Bitmap.setGainmap()কল করে পরিবর্তিত গেইন ম্যাপটি ইমেজে পুনরায় প্রয়োগ করুন ।
অতিরিক্ত সম্পদ
আল্ট্রা এইচডিআর ছবি সম্পর্কে আরও জানতে, নিম্নলিখিত অতিরিক্ত উৎসগুলো দেখুন: