সমাধান করা হয়েছে: জাভাস্ক্রিপ্ট হেক্স থেকে আরজিবি

হেক্সাডেসিমেল রঙের মানগুলিকে আরজিবি-তে রূপান্তর করার ক্ষেত্রে প্রধান সমস্যা হল যে দুটি ফর্ম্যাটের মধ্যে কোনও এক থেকে এক চিঠিপত্র নেই। উদাহরণস্বরূপ, রঙ #FF0000 RGB-তে 255, 0, 0 হিসাবে উপস্থাপন করা হয়েছে, কিন্তু হেক্সে এটি রঙ #F0 এর সমান হবে। এর মানে হল যে দুটি ভিন্ন রঙের একই RGB মান থাকতে পারে যদি তারা প্রতিটি রঙের উপাদানের বিভিন্ন পরিমাণে গঠিত হয়।

"use strict";

function hexToRgb(hex) {
    var result = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
    return result ? {
        r: parseInt(result[1], 16),
        g: parseInt(result[2], 16),
        b: parseInt(result[3], 16)
    } : null;
}

"কঠোর ব্যবহার করুন";

কোডের এই লাইনটি কঠোর মোড সক্ষম করে, যা আরও ভাল জাভাস্ক্রিপ্ট লেখার একটি উপায়। কঠোর মোডে, আপনি অঘোষিত ভেরিয়েবল ব্যবহার করতে পারবেন না। কঠোর মোড কাজ করার জন্য কোডের এই লাইনটি আপনার JavaScript ফাইলের শীর্ষে থাকা আবশ্যক।

ফাংশন hexToRgb(হেক্স) {
var ফলাফল = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
ফলাফল ফেরত? {
r: parseInt(ফলাফল[1], 16),
g: parseInt(ফলাফল[2], 16),
b: parseInt(ফলাফল[3], 16)
} : শূন্য;
}

এটি এমন একটি ফাংশন যা একটি হেক্স রঙের মানকে একটি RGB রঙের মানতে রূপান্তর করে। ফাংশনটি একটি প্যারামিটারে নেয়, যা হেক্স রঙের মান যা আপনি রূপান্তর করতে চান। ফাংশনটি একটি হেক্স রঙের মানের প্যাটার্নের সাথে মেলে একটি রেগুলার এক্সপ্রেশন ব্যবহার করে এবং যদি এটি একটি মিল খুঁজে পায়, তাহলে এটি লাল, সবুজ এবং নীল মান সহ একটি বস্তু ফেরত দেবে। এটি একটি মিল খুঁজে না পেলে, এটি শূন্য ফিরে আসবে।

রঙের মধ্যে রূপান্তর

এই প্রশ্নের কোনো এক-আকার-ফিট-সমস্ত উত্তর নেই, কারণ বিভিন্ন রঙের স্থানের মধ্যে রং রূপান্তর করার সর্বোত্তম উপায় আপনার অ্যাপ্লিকেশনের নির্দিষ্ট চাহিদার উপর নির্ভর করে পরিবর্তিত হতে পারে। যাইহোক, জাভাস্ক্রিপ্টে রঙের স্থানগুলির মধ্যে রঙগুলি কীভাবে রূপান্তর করা যায় তার কিছু টিপস নীচে পাওয়া যাবে।

একটি রঙকে এক রঙের স্থান থেকে অন্য রঙে রূপান্তর করতে, আপনি rgb() এবং hsl() ফাংশন ব্যবহার করতে পারেন। এই ফাংশন তিনটি আর্গুমেন্ট নেয়: একটি লাল, সবুজ এবং নীল মান, যথাক্রমে। প্রথম আর্গুমেন্ট বেস কালার স্পেস (যেমন RGB) নির্দিষ্ট করে, যখন দ্বিতীয় এবং তৃতীয় আর্গুমেন্ট টার্গেট কালার স্পেস (যেমন HSL) নির্দিষ্ট করে।

একটি পিক্সেল ফরম্যাট থেকে অন্য রঙে রূপান্তর করতে, আপনি css() ফাংশন ব্যবহার করতে পারেন। এই ফাংশনটি দুটি আর্গুমেন্ট নেয়: একটি স্ট্রিং যা সিএসএস প্রপার্টির নাম (যেমন "রঙ") এবং একটি সংখ্যা যা সেই সম্পত্তির জন্য পছন্দসই মান প্রতিনিধিত্ব করে (যেমন "50")।

রঙ বিন্যাস

জাভাস্ক্রিপ্টে আপনি ব্যবহার করতে পারেন এমন কয়েকটি ভিন্ন রঙের বিন্যাস রয়েছে।

RGB - লাল, সবুজ, নীল

হেক্স - #RRGGBB

এইচএসএল - হিউ, স্যাচুরেশন, লাইটনেস

সম্পর্কিত পোস্ট:

মতামত দিন