RGB‑ն վազեցնում է էկրանը, թե որքան լույս արձակել; HSL‑ը ասում է՝ ինչպես է իրականում գույնը թվում. երեք ալիքները փոխակերպելով երանգի, սատուրացիայի եւ լուսավորության՝ գույնը դառնում է հեշտ ինքնուրույն շտկվող.
Ինչպես է աշխատում RGB-ից HSL-ի փոխարկումը
- Բաժանել R, G եւ B‑ը 255‑ով՝ որպեսզի յուրաքանչյուրը լինի 0–1 միջակայքում.
- Ընդունեք երեքիից ամենամեծը եւ ամենափոքրրը — դրանց միջինը կլինի լուսավորությունը L.
- Եթե ամենամեծն ու ամենափոքրն برابر են, գույնը մոխրագույն է՝ երանգն ու սատուրացիան երկուսն էլ 0 են.
- Բացառության դեպքում ստացեք S‑ը՝ առավելագույնի եւ նվազագույնի տարբերությունից, եւ կարդացեք H‑ը այն ալիքից, որը ամենամեծն է.
Օրինակ աշխատանքի մեջ
Ի սկզբանե ճշգրիտ է. քանի որ H, S եւ L սովորաբար ցուցադրվում են կլորացված ամբողջ թվերով, հետադարձ փոխարկումը կարող է մի ալիքը տեղաշարժել մեկ երկու քայլով.
RGB և HSL բացատրություն
Ի՞նչ է RGB-ը?
RGB-ը բնութագրում է գույնը որպես երեք լույսի ալիք՝ կարմիր, կանաչ և կապույտ՝ յուրաքանչյուրը 0-ից 255։ Դա արտացոլում է, թե ինչպես են էկրանները իրականում աշխատում՝ բոլոր երեքը 255-ն են տալիս սպիտակ, բոլորը 0 են տալիս սև։ RGB-ը ճիշտ ընտրությունն է երբ պետք է հաշվարկներ անել գույնի հետ, իսկ rgba() ավելացնում է թափանցիկություն։
- Սինտաքս:
- rgb(R, G, B)
- Диապազոն:
- 0–255 յուրաքանչյուր ալիքի համար
- Լավ է համար:
- կոդ, canvas, թափանցիկություն rgba()-ով
Ի՞նչ է HSL-ը?
HSL-ը բաժանվում է երանգի (0–360° գույնի վհուլակ), յունիվերսի (ինչքան գունավոր, 0–100%) և լույսայնության (ինչքան լուսավոր, 0–100%)։ Քանի որ յուրաքանչյուր մասը համապատասխանում է այն ձևին, որով մարդիկ նկարագրում են գույնը, HSL-ը ամենահեշտ ֆորմատն է երանգներ, ստվերներ և համաչափ փալետներ ստեղծելու համար՝ ձեռքով կամ կոդով։
- Սինտաքս:
- hsl(H, S%, L%)
- Диապազոն:
- 0–360°, 0–100%, 0–100%
- Լավ է համար:
- փալետներ, երանգներ և ստվերներ, թեմինգ
RGB-ից HSL-ի հղման աղյուսակ
Ամենատարածված CSS գույները, փոխարկված RGB-ից HSL-ին.
| Գույն | RGB | HSL |
|---|---|---|
| black | rgb(0, 0, 0) | hsl(0, 0%, 0%) |
| white | rgb(255, 255, 255) | hsl(0, 0%, 100%) |
| red | rgb(255, 0, 0) | hsl(0, 100%, 50%) |
| lime | rgb(0, 255, 0) | hsl(120, 100%, 50%) |
| blue | rgb(0, 0, 255) | hsl(240, 100%, 50%) |
| yellow | rgb(255, 255, 0) | hsl(60, 100%, 50%) |
| orange | rgb(255, 165, 0) | hsl(39, 100%, 50%) |
| teal | rgb(0, 128, 128) | hsl(180, 100%, 25%) |
| purple | rgb(128, 0, 128) | hsl(300, 100%, 25%) |
| gray | rgb(128, 128, 128) | hsl(0, 0%, 50%) |