مبدل RGB به HSL

هر رنگ RGB را به HSL تبدیل کن — فوری و رایگان

#9B59B6

هر مقدار رنگی را بچسبان — ما فرمت را برایت تشخیص می‌دهیم.

R
G
B
نتیجه HSL
فام
283°
اشباع
39%
روشنایی
53%

این رنگ در همهٔ فرمت‌ها

پروفایل CMYK: Coated FOGRA39 (پیش‌فرض Photoshop برای اروپا)

RGB به صفحه می‌گوید چقدر نور پخش کند؛ HSL می‌گوید رنگ واقعاً چگونه به نظر می‌رسد. تبدیل سه کانال به هیو، اشباع و روشنایی رنگ را برای تنظیم دستی آسان می‌کند.

چطور تبدیل RGB به HSL کار می‌کند

  1. R، G و B را بر 255 تقسیم کن تا هر مقدار بین 0 و 1 قرار بگیرد.
  2. بیشترین و کمترینِ سه مقدار را بگیر — میانگینشان روشنی L است.
  3. اگر بیشینه و کمینه برابر باشند، رنگ خاکستری است: هیو و اشباع هر دو 0 هستند.
  4. در غیر این صورت S را از پراکندگی بین بیشینه و کمینه استخراج کن و H را از همان کانالی که بیشینه را دارد بخوان.

مثال عملی

RGB rgb(155, 89, 182)=HSL hsl(283, 39%, 53%)

از نظر تئوری دقیق است. چون H، S و L معمولاً به اعداد گردشده نمایش داده می‌شوند، تبدیل برعکس ممکن است یک کانال را یک یا دو گام جابه‌جا کند.

RGB و HSL توضیح داده‌شده

RGB چیست؟

RGB یک رنگ را به‌صورت سه کانال نور — قرمز، سبز و آبی — هر کدام از 0 تا 255 توصیف می‌کند. این دقیقاً نحوه کار صفحه‌نمایش‌ها را بازتاب می‌دهد: هر سه در 255 سفید را می‌سازند و هر سه در 0 سیاه را. هر وقت لازم است با مقادیر حساب کنی، RGB انتخاب درستی است، و rgba() شفافیت را اضافه می‌کند.

نحو:
rgb(R, G, B)
دامنه:
0–255 برای هر کانال
مناسب برای:
کدنویسی، canvas، شفافیت با rgba()

HSL چیست؟

HSL یک رنگ را به هیو (Hue) — 0–360° روی چرخ رنگ — اشباع (Saturation) — میزان رنگی بودن، 0–100% — و روشنایی (Lightness) — میزان روشنایی، 0–100% تقسیم می‌کند. چون هر بخش هم‌خوانی بیشتری با نحوه توصیف رنگ توسط انسان دارد، HSL آسان‌ترین فرمت برای ساختِ تینت‌ها، شیب‌ها و پالت‌های منسجم است — دستی یا در کد.

نحو:
hsl(H, S%, L%)
دامنه:
0–360°, 0–100%, 0–100%
مناسب برای:
پالت‌ها، تینت‌ها و شیب‌ها، تم‌سازی

جدول مرجع RGB به HSL

متداول‌ترین رنگ‌های CSS، تبدیل‌شده از RGB به HSL.

رنگRGBHSL
blackrgb(0, 0, 0)hsl(0, 0%, 0%)
whitergb(255, 255, 255)hsl(0, 0%, 100%)
redrgb(255, 0, 0)hsl(0, 100%, 50%)
limergb(0, 255, 0)hsl(120, 100%, 50%)
bluergb(0, 0, 255)hsl(240, 100%, 50%)
yellowrgb(255, 255, 0)hsl(60, 100%, 50%)
orangergb(255, 165, 0)hsl(39, 100%, 50%)
tealrgb(0, 128, 128)hsl(180, 100%, 25%)
purplergb(128, 0, 128)hsl(300, 100%, 25%)
grayrgb(128, 128, 128)hsl(0, 0%, 50%)

سؤالات متداول

R، G و B را بر 255 تقسیم کن تا هر مقدار بین 0 و 1 قرار بگیرد. بیشترین و کمترینِ سه مقدار را بگیر — میانگینشان روشنی L است. اگر بیشینه و کمینه برابر باشند، رنگ خاکستری است: هیو و اشباع هر دو 0 هستند. در غیر این صورت S را از پراکندگی بین بیشینه و کمینه استخراج کن و H را از همان کانالی که بیشینه را دارد بخوان.

از نظر تئوری دقیق است. چون H، S و L معمولاً به اعداد گردشده نمایش داده می‌شوند، تبدیل برعکس ممکن است یک کانال را یک یا دو گام جابه‌جا کند.

HSL یک رنگ را به هیو (Hue) — 0–360° روی چرخ رنگ — اشباع (Saturation) — میزان رنگی بودن، 0–100% — و روشنایی (Lightness) — میزان روشنایی، 0–100% تقسیم می‌کند. چون هر بخش هم‌خوانی بیشتری با نحوه توصیف رنگ توسط انسان دارد، HSL آسان‌ترین فرمت برای ساختِ تینت‌ها، شیب‌ها و پالت‌های منسجم است — دستی یا در کد.

بله. دکمه جابجایی کنار ورودی تو را به مبدل HSL به RGB می‌برد که دقیقاً همان‌طور کار می‌کند. هر دو جهت از همان فرمول استفاده می‌کنند، فقط به صورت معکوس اعمال می‌شود.

HSL وقتی به کار می‌آید که به‌جای یک رنگ دقیق، یک رنگ مرتبط می‌خواهی: H را بچرخان برای یک تاکید مکمل، S را کم کن برای یک نسخه مات‌تر، L را بالا ببر برای حالت hover.