HSL-г RGB-руу хөрвүүлэгч

Аливаа HSL өнгийг RGB-руу — түргэн, үнэгүй

#F39C12

Ямар ч өнгийн утгыг нааж байрлуул — бид форматыг автоматаар илрүүлнэ.

H
S
L
RGB үр дүн
Улаан
243
Ногоон
156
Цэнхэр
18

Энэ өнгө бүх форматаар

CMYK профайл: Coated FOGRA39 (Photoshop-ийн Европт зориулсан анхдагч тохиргоо)

HSL нь өнгө сонгоход эелдэг арга, харин RGB нь дэлгэц, canvas API ба зурагны код бодитоор хэрэглэдэг формат. Энэ хөрвүүлэгч нь ямар ч hue, saturation, lightness гурвалийг яг 0–255 хоорондын сувгуудад хувиргана.

HSL-г RGB-руу хэрхэн хөрвүүлдэг вэ

  1. S ба L-ийг хэсэгчилж (фракци) өөрчлөөд хрома C = (1 − |2L − 1|) × S-г тооц.
  2. Hue-г 60-аар хувааж өнгө дугуйн дээрх хэсгийг олж, дундаж утга X = C × (1 − |(H/60 mod 2) − 1|)-г тооц.
  3. Тухайн сегментийн дагуу C, X болон 0-ийг R, G, B оронгуудад дамжуул.
  4. Гурван сувгуудад L − C/2 гэрэлтлийн офсетыг нэмээд 255-ээр үржүүл.

Ажлын жишээ

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

Эцсийн бүхэл сувгууд руу тойргох хүртэлх үр дүн нь яг зөв байна. Hue эсвэл saturation-ын хэсгийн утгууд дэмжигддэг ба хамгийн ойрын RGB гурвал дээр унадаг.

HSL ба RGB тайлбарласан

HSL гэж юу вэ?

HSL нь өнгийг хүрээ (color wheel дээр 0–360°), өнгө баялаг (saturation, 0–100%) болон гэрэллэг (lightness, 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-ийг хэсэгчилж (фракци) өөрчлөөд хрома C = (1 − |2L − 1|) × S-г тооц. Hue-г 60-аар хувааж өнгө дугуйн дээрх хэсгийг олж, дундаж утга X = C × (1 − |(H/60 mod 2) − 1|)-г тооц. Тухайн сегментийн дагуу C, X болон 0-ийг R, G, B оронгуудад дамжуул. Гурван сувгуудад L − C/2 гэрэлтлийн офсетыг нэмээд 255-ээр үржүүл.

Эцсийн бүхэл сувгууд руу тойргох хүртэлх үр дүн нь яг зөв байна. Hue эсвэл saturation-ын хэсгийн утгууд дэмжигддэг ба хамгийн ойрын RGB гурвал дээр унадаг.

RGB нь өнгийг гурван гэрлийн сувгаар тодорхойлдог — улаан, ногоон, цэнхэр — тус бүр нь 0–255 хүртэл утгатай. Энэ нь дэлгэц хэрхэн ажилладагтай таарч байна: гурвын аль нь ч 255 байвал цагаан, бүгд 0 байвал хар болно. RGB нь өнгөөр тооцоолол хийх шаардлагатай үед тохиромжтой, мөн rgba() нь давхаргуудын тунгалаг байдлыг нэмдэг.

Тийм. Оролтын баруун талд байгаа солих товч нь чамайг RGB-аас HSL-руу хөрвүүлэгч рүү шууд авчирна, ажиллах зарчим нь яг адил. Аль аль чиглэлд адил томьёог эсрэгээр нь хэрэглэдэг.

Кодоор палитр үүсгэмээр байна уу? HSL-д hue-г давталтаар явуулж, алхам бүрийг RGB болгож хөрвүүл — ингэснээр гаргахад жигд зайтай өнгөнүүд авна, гар аргаар RGB тохируулсан шиг байж чадахгүй.