HSL-ը հարմար եղանակն է գույն ընտրելու համար, իսկ RGB-ն այն է, ինչն իրականում ընդունում են էկրանները, canvas API-ները և պատկերի կոդը. այս փոխարկիչը ցանկացած hue, saturation և lightness եռյակը դարձնում է ճշգրիտ 0–255 ալիքների.
Ինչպես է աշխատում HSL-ից RGB-ի փոխարկումը
- Փոխանցիր S և L-ը մասշտաբավորված քանակների՝ ֆրակցիաների և հաշվիր chroma-ն C = (1 − |2L − 1|) × S.
- Մ բաժանիր գույնի սղոցը 60՝ գտնելու համար թե ինչ հատվածում է գնդակում և հաշվիր միջանկյալ X = C × (1 − |(H/60 mod 2) − 1|).
- Ըստ այդ հատվածի տեղադրիր C, X և 0-ը համապատասխան R, G և B դիրքերում.
- Ավելացրու lightness-ի ऑफսեթը L − C/2 բոլոր երեք ալիքներին և բազմապատկիր 255-ով.
Օրինակ աշխատանքի մեջ
Արդյունքը ճշգրիտ է մինչև վերջնական փափկեցումը ամբողջ ալիքների. կոտորակային 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-ին.
| Գույն | HSL | RGB |
|---|---|---|
| black | hsl(0, 0%, 0%) | rgb(0, 0, 0) |
| white | hsl(0, 0%, 100%) | rgb(255, 255, 255) |
| red | hsl(0, 100%, 50%) | rgb(255, 0, 0) |
| lime | hsl(120, 100%, 50%) | rgb(0, 255, 0) |
| blue | hsl(240, 100%, 50%) | rgb(0, 0, 255) |
| yellow | hsl(60, 100%, 50%) | rgb(255, 255, 0) |
| orange | hsl(39, 100%, 50%) | rgb(255, 166, 0) |
| teal | hsl(180, 100%, 25%) | rgb(0, 127, 128) |
| purple | hsl(300, 100%, 25%) | rgb(128, 0, 127) |
| gray | hsl(0, 0%, 50%) | rgb(128, 128, 128) |