মঙ্গলবার, ১৯ জুন, ২০০৭

কম্পিউটারে ব্যবহৃত রঙের কথা

(ইতিপূর্বে প্রজন্ম ফোরামে প্রকাশিত হয়েছিলো)

ভুমিকা


কম্পিউটারে স্ক্রীনের রংগুলো আসলে তিনটা মৌলিক রঙ মিশিয়ে তৈরী হয়।
লাল
সবুজ
নীল
এই তিনটি রঙকে বিভিন্ন অনুপাতে মিশিয়ে যে কোন রঙ তৈরী করা যায়।
যেমন:
নীল+সবুজ =
নীলাভ-সবুজ
হালকা লাল+হালকা সবুজ+হালকা নীল = ধুসর
লাল+নীল+সবুজ = সাদা(সাদা)

যে কেহই তাঁর ইচ্ছামত রঙ দিতে পারেন। এজন্য রংটাকে লেখা হয় ৬ অংকের একটা সংখ্যা দিয়ে এভাবে, সাদা = #ffffff ; কালো = #000000 - এবং সংখ্যাটার আগে একটা # চিহ্ন দিতে হয়।

যেমন, উপরের লেখায়
নীলাভ-সবুজ লেখায় রঙ দিতে আমি কোড ব্যবহার করেছি color:#00ffff

লাল-সবুজ-নীল সংকেত:

সঠিকভাবে এই ব্যাপারটা বুঝার জন্য যেটা জানা দরকার সেটা হল RGB রঙের কোড। RGB হলো Red Green Blue এর সংক্ষিপ্ত রূপ। রঙের কোডের ৬টি অংকের প্রথম দুটি অংক দিয়ে লাল বা Red, মাঝের দুটি দিয়ে সবুজ বা Green, এবং শেষ দুটি অংক/অক্ষর দিয়ে নীল বা Blue রং কি পরিমান মিশাতে হবে তা বলে দেয়া হয়।

যে কোন রঙের পরিমান দিতে ০ থেকে ২৫৫ পর্যন্ত মোট ২৫৬টি মাত্রা দেয়া যেতে পারে । উপরের ধুসর বর্ণের লেখায় আমি লাল=সবুজ=নীল=১১৯ ব্যবহার করেছি। কোডটা ছিল color:#777777 । নীলাভ সবুজ লেখায় ব্যবহার করেছি, লাল = ০, সবুজ = ২৫৫, নীল = ২৫৫। এর কোডটা ছিল, color:#00ffff। সাদার জন্য লাল = সবুজ = নীল = ২৫৫; আর কোড হল, color:#ffffff।

এখানে আপনারা হয়ত লক্ষ্য করবেন, মাত্রা = ১১৯ দেয়ার জন্য কোডে লেখা হয়েছে 77, আবার মাত্রা = ২৫৫ এর জন্য কোড = ff। এই মাত্রা থেকে কোডের ব্যাপারটা খুবই সোজা, যেটা আমি পরবর্তী অংশে বলছি। মজার ব্যাপার হলো, এভাবে লাল, সবুজ এবং নীলের মিশ্রন মোট ২৫৬x২৫৬x২৫৬ ভাবে হতে পারে!!!


মাত্রা থেকে কোড নির্ণয় : ডেসিমেল টু হেক্সাডেসিমেল সংখ্যা


যারা হেক্সাডেসিমেল সংখ্যা জানেন তাদের আর পড়ার দরকার নেই ... শুধু জেনে রাখুন মাত্রাটাকে ডেসিমেল সংখ্যা থেকে হেক্সাডেসিমেলে রূপান্তরিত করে দেয়া হয়।

যারা জানেন না, তাদের জন্য প্রথমে হেক্সাডেসিমেল সংখ্যা কি - এখান থেকে শুরু করি।

ধরুন আপনার কাছে দেখতে একই রকম অনেকগুলো বাক্স আছে। যারা রান্না করেন, তাদের কাছে বিভিন্ন মশলা রাখার জন্য একই রকম অনেক কৌটা থাকতে পারে। চেনার সুবিধার্থে এগুলোকে চিহ্নিত করা দরকার। আপনার কাছে চিহ্ন দেয়ার জন্য কোন কলম নাই যে, নাম লিখে রাখবেন।


আমাদের পরিচিত ডেসিমেল/দশ-ভিত্তিক সংখ্যা:


আপনার কাছে দেয়া হল দশটি প‌্যাকেট, প্রতিটিতে একই রকমের অনেকগুলো স্টীকার আছে। বুঝার সুবিধার জন্য ধরি স্টীকারগুলো ০, ১, ২,..... ৯ লেখা। তাহলে তো কথাই নাই। প্রতিটা কৌটা/বাক্সের গায়ে, ০, ১, ২, ৩, ৪,..... ৯ লাগিয়ে দেবেন। তারপরের গুলোতে ১০, ১১, ১২, ১৩, ১৪, .... ১৯; তারপরের গুলোতে ২০, ২১, ২২, ২৩, ২৪, ....২৯ .... এভাবে চলতে থাকবে -- বুঝতে কোন অসুবিধা নাই!! কারণ আমরা এই সংখ্যাগুলো ব্যবহার করে অভ্যস্থ।

বাইনারী/ দুই-ভিত্তিক সংখ্যা


কিন্তু যদি এমন হয় আপনার কাছে শুধু দুই রকম স্টীকার আছে - ০, ১ তাহলে কেমন হবে কৌটার নামগুলো? ০, ১; তারপর ১০, ১১, তারপর, ১০০, ১০১; তারপর ১১০, ১১১ ......... এভাবে। এটাই হল বাইনারী সংখ্যা। যদি স্টীকারগুলো ক, খ হয় তাহলে নামগুলো হবে, ক, খ; তারপর কক, কখ; তারপর, খক, খখ; তারপর ককক, ককখ, কখক, কখখ, খকক, খকখ, খখক, খখখ ... এভাবে। অর্থাং মাত্র দুটি ভিন্ন চিহ্ন ব্যবহার করে আমরা সবগুলো কৌটাকে ভিন্ন নাম দিতে পারব।

হেক্সাডেসিমেল/ ষোল-ভিত্তিক সংখ্যা


এখানে স্টীকার হলো ১৬ রকম। সরাসরি বুঝার সুবিধার্থে ইংরেজী কোডের মত করে দিচ্ছি ... ১৬ টি চিহ্ন হল: 0, 1, 2, ......8, 9, a, b, c, d, e, f। তাহলে আলাদা আলাদা চিহ্নগুলো হবে এরকম:
প্রথম ১৬টি: 0 1 2 3 4 5 6 7 8 9 a b c d e f
পরের ১৬টি: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
এর পরের ১৬টি: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f

অনেক বেসিক জ্ঞান বিতরণ করলাম। ইতিমধ্যে অধিকাংশ পাঠক বিরক্ত হয়ে গেছেন নিশ্চয়ই। এবার আসি কিভাবে এক পদ্ধতির সংখ্যা থেকে অপর পদ্ধতিতে যাব -- যেহেতু আমরা দশভিত্তিক সংখ্যায় অভ্যস্থ তাই এটাকে কেন্দ্র করেই আলোচনা সীমাবদ্ধ থাকবে।


ডেসিমেল - হেক্সাডেসিমেল


আমাদের পছন্দমত রং মেশাতে চাইলে ০ - ২৫৫ যে কোন মাত্রাকে আমরা কোডে পরিবর্তন করব এভাবে ...

দুটি উদাহরণ দিয়ে ব্যাখ্যা করছি:
মাত্রা দিতে চাই ১০০: এজন্য ১০০কে ১৬ দিয়ে ভাগ করতে হবে... আর প্রতিবারের ভাগফলগুলোকে আর ভাগশেষ গুলোকে পাশা পাশি লিখতে হবে। তারপরে আবার আগের ভাগফলকে ভাগ করতে হবে ১৬ দিয়ে .... যতক্ষণ না ভাগফল ০ হয়। শেষে সবগুলো ভাগশেষকে উল্টা সিরিয়ালে একত্রে লিখে কালার কোড বানাতে হবে ...

প্রথমে, ১০০/১৬ = ভাগফল ৬, ভাগশেষ ৪
তারপরে, ৬/১৬ = ভাগফল ০, ভাগশেষ ৬

--> এটাকে এভাবে লিখি:
16।100
__________এখানে ১০০ কে ১৬ দিয়ে ভাগ দিলাম
16।6 - 4
__________ভাগফল ৬ - অবশিষ্ট ৪; আবার ১৬ দিয়ে ৬ কে ভাগ দিলাম
___0 - 6__________ভাগফল ০, অবশিষ্ট ৬

রঙের কোড হল 64 নিচ থেকে উপরের দিকে ভাগশেষ বা অবশিষ্টগুলি লিখলাম, যথাক্রমে ৬ এবং ৪

মাত্রা দিতে চাই ২২৫:
16।225
__________এখানে ২২৫ কে ১৬ দিয়ে ভাগ দিলাম
16।14 - 1
_________ ভাগফল ১৪ - অবশিষ্ট ১; আবার ১৬ দিয়ে ১৪ কে ভাগ দিলাম
__0 - 14_________ভাগফল ০, অবশিষ্ট ১৪


রঙের কোড হল e1 নিচ থেকে উপরের দিকে ভাগশেষ বা অবশিষ্টগুলি লিখলাম, যথাক্রমে ১৪=e এবং ১

মনে রাখতে হবে যে, a =10, b =11, c = 12, d = 13, e = 14, f = 15

এখন দেখা যাক ১০০ মাত্রার রংগুলি কেমন
১০০ মাত্রার লাল: কোড - color:#640000
১০০ মাত্রার সবুজ: কোড - color:#006400
১০০ মাত্রার নীল: কোড - color:#000064
১০০ মাত্রার মিশ্রন, ফলাফল ধুসর!: কোড - color:#646464

এখন দেখা যাক ২০০ মাত্রার রংগুলি কেমন
২০০ মাত্রার লাল: কোড - color=#c80000
২০০ মাত্রার সবুজ: কোড - color=#00c800
২০০ মাত্রার নীল: কোড - color=#0000c8
২০০ মাত্রার মিশ্রন, ফলাফল ধুসর!: কোড - color=#c8c8c8

হেক্সাডেসিমেল - ডেসিমেল


একটি পছন্দের রং দেখে তার কোড থেকে মিশ্রনের মাত্রা বের করতে চাইলে এইরকম পরিবর্তনও দরকার হবে ....

এক্ষেত্রে রঙের কোডকে তার স্থানীয় মান দিয়ে গুণ করে মাত্রা বের করা যায়।

যেমন: কোড = #c877ff এর অর্থ হল:

লাল = c8 = c.16+8 = 12x16+8 =192+8= 200
সবুজ = 77 = 7x16+7 = 112+7=119
নীল = ff = f.16+f = 15x16+15 = 240+15=255

দেখিতো রংটা আসলে কেমন:
ওরে বাবা

আরো কিছু রঙের নমুনা সহ কালারকোড দেখতে হলে এখানে দেখতে পারেন।

1 টি মন্তব্য:

ইরতেজা বলেছেন...

শামিম ভাই লিখাটি প্রজন্ম ফোরামে দেখেছিলাম। নতুন কইছু জানলাম। আমি নিজে চেষ্টা করে দেখছি। আপনাকে ধন্যবাদ