HSL සිට RGB පරිවර්තකය

ඕනෑම HSL වර්ණයක් RGB වෙත — ක්ෂණිකව සහ නොමිලේ

#F39C12

ඕනෑම වර්ණ අගයක් ඇලවන්න. එහි ආකාරය අපි ඔබ වෙනුවෙන් හඳුනා ගනිමු.

H
S
L
RGB ප්‍රතිඵලය
රතු
243
හරිත
156
නිල්
18

මෙම වර්ණය සියලුම ආකාරවලින්

CMYK පැතිකඩ: Coated FOGRA39 (යුරෝපය සඳහා Photoshop හි පෙරනිමිය)

HSL යනු වර්ණයක් තෝරා ගැනීමට පහසු ක්‍රමයයි, RGB නම් තිර, canvas APIs සහ රූප කේතය සැබවින්ම භාවිතා කරන ආකාරයයි. මෙම පරිවර්තකය ඕනෑම hue, saturation සහ lightness ත්‍රිත්වයක් නිශ්චිත 0–255 නාලිකා බවට හරවයි.

HSL සිට RGB පරිවර්තනය කෙසේ සිදු වෙයි

  1. S සහ L ප්‍රතිශත කොටස් ලෙස පරිවර්තනය කර, chroma C = (1 − |2L − 1|) × S ගණනය කරන්න.
  2. Hue එක 60 කින් බෙදා එහි වර්ණ චක්‍රයේ කොටස හඳුනාගෙන නතරක X = C × (1 − |(H/60 mod 2) − 1|) ගණනය කරන්න.
  3. ඒ කොටස අනුව C, X සහ 0 R, G සහ B තණ්හෙට ලබා දෙන්න.
  4. ලයිට්නස් හි ‍offset L − C/2 සියලු නාලිකාට එක්කීරලා 255 කින් ගුණ කරන්න.

කාර්යක්‌ෂම උදාහරණය

HSL hsl(37, 90%, 51%)=RGB rgb(243, 156, 18)

අවසාන වටකිරීමට පෙර ප්‍රතිඵලය නිවැරදියි. කොටස් වශයෙන් hue හෝ saturation අග ලබා දුවත්, ඒවා ළඟම RGB ත්‍රිකය වෙයි.

HSL සහ RGB විස්තර කරන්න

HSL කියන්නේ කුමක්ද?

HSL වර්ණයක් හියු (වර්ණ චක්රයේ 0–360°), සංතෘප්තිය (0–100%, වර්ණවත්කම) සහ ආලෝකත්වය (0–100%, දිදුලීම) ලෙස වෙන් කරනවා. මිනිසුන් වර්ණය විස්තර කරන ආකාරයට එක් එක් කොටසම අනුකූල වන නිසා HSL විලාසිතා, ශේඩ් සහ ස්ථිර පැලට් සෑදීමට — අත්මඟින් හෝ කේතයෙන් — පහසුම ආකාරයයි.

වක්‍රරචනය:
hsl(H, S%, L%)
පරාසය:
0–360°, 0–100%, 0–100%
භාවිතයට හොඳම:
පැලට්, ටින්ට් හා ශේඩ්, තේමාවන්

RGB කියන්නේ කුමක්ද?

RGB වර්ණයක් රතු, කලාව සහ නිල් ලෙස වූ ආලෝක චැනල් තුනක් ලෙස විස්තර කරනවා — එක් එක් චැනලය 0 සිට 255 දක්වා. එය තිර කෙලසින්ම ක්‍රියා කරන ආකාරයට අනුකූල වන අතර: සියළු චැනල් 255 නම් සුදු, සියළුම 0 නම් කලු වේ. වර්ණ සමඟ ගණනය කිරීම අවශ්‍ය වියහොත් RGB හොඳම තේරීමයි; rgba() මගින් පාරදර්ශිතාව ද එක් කළ හැක.

වක්‍රරචනය:
rgb(R, G, B)
පරාසය:
චැනලය අනුව 0–255
භාවිතයට හොඳම:
කේතය, canvas, rgba() සමඟ පාරදර්ශිතාව

HSL සිට RGB යන යොමු සටහන

අතිශය පොදු CSS වර්ණ, HSL සිට RGB වෙත පරිවර්තනය කර තිබේ.

වර්ණයHSLRGB
blackhsl(0, 0%, 0%)rgb(0, 0, 0)
whitehsl(0, 0%, 100%)rgb(255, 255, 255)
redhsl(0, 100%, 50%)rgb(255, 0, 0)
limehsl(120, 100%, 50%)rgb(0, 255, 0)
bluehsl(240, 100%, 50%)rgb(0, 0, 255)
yellowhsl(60, 100%, 50%)rgb(255, 255, 0)
orangehsl(39, 100%, 50%)rgb(255, 166, 0)
tealhsl(180, 100%, 25%)rgb(0, 127, 128)
purplehsl(300, 100%, 25%)rgb(128, 0, 127)
grayhsl(0, 0%, 50%)rgb(128, 128, 128)

පහසුවෙන් අසන ප්‍රශ්න

S සහ L ප්‍රතිශත කොටස් ලෙස පරිවර්තනය කර, chroma C = (1 − |2L − 1|) × S ගණනය කරන්න. Hue එක 60 කින් බෙදා එහි වර්ණ චක්‍රයේ කොටස හඳුනාගෙන නතරක X = C × (1 − |(H/60 mod 2) − 1|) ගණනය කරන්න. ඒ කොටස අනුව C, X සහ 0 R, G සහ B තණ්හෙට ලබා දෙන්න. ලයිට්නස් හි ‍offset L − C/2 සියලු නාලිකාට එක්කීරලා 255 කින් ගුණ කරන්න.

අවසාන වටකිරීමට පෙර ප්‍රතිඵලය නිවැරදියි. කොටස් වශයෙන් hue හෝ saturation අග ලබා දුවත්, ඒවා ළඟම RGB ත්‍රිකය වෙයි.

RGB වර්ණයක් රතු, කලාව සහ නිල් ලෙස වූ ආලෝක චැනල් තුනක් ලෙස විස්තර කරනවා — එක් එක් චැනලය 0 සිට 255 දක්වා. එය තිර කෙලසින්ම ක්‍රියා කරන ආකාරයට අනුකූල වන අතර: සියළු චැනල් 255 නම් සුදු, සියළුම 0 නම් කලු වේ. වර්ණ සමඟ ගණනය කිරීම අවශ්‍ය වියහොත් RGB හොඳම තේරීමයි; rgba() මගින් පාරදර්ශිතාව ද එක් කළ හැක.

ඔව්. ඇතුල් කිරීමේ ආසන්නයේ ඇති හුවමාරු බොත්තම ඔබව RGB → HSL පරිවර්තකයට ගෙන යයි. එය සමාන ක්‍රමවේදය අනුව ක්‍රියා කරයි — දෙපාර්ශ්වයද ඒකම සූත්‍රය භාවිතා කරයි, සාමාන්‍යයෙන් ප්‍රතිපල ආපසු ගන්නා ආකාරයට යෙදී.

කේතයෙන් පැලට් එකක් ජනනය කරනවාද? HSL හි hue හරහා loop කරලා එක් එක් පියවර RGB වලට පරිවර්තනය කරන්න — සමතාපක වරම් සහිත වර්ණ ලැබෙනවා, manual RGB සැකසීමෙන් එවැනි වර්ණයක් දෙන්න බැහැ.