HSL을 RGB로 변환 (Microsoft Excel)
Bassel에는 HSL 색상 값 (색조, 채도 및 밝기 값)을 RGB 색상 값 (빨간색, 파란색 및 녹색 값)으로 변환 할 수있는 공식이 필요합니다. 그는 누구든지이 작업을 수행 할 워크 시트 수식이나 매크로에서 수행하는 방법을 알려줄 수 있는지 궁금합니다.
HSL에서 RGB 값으로 변환하는 것은 특별히 사소한 작업이 아닙니다. 수학에 관심이있는 사람들은 https://en.wikipedia.org/wiki/HSL_and_HSV [주제에 대한 Wikipedia 기사 확인]를 참조하십시오.
자주 변환해야하는 경우 가장 쉬운 방법은 다음 단계를 따르는 것입니다.
-
리본의 홈 탭을 표시합니다.
-
글꼴 그룹에서 채우기 색상 도구의 오른쪽에있는 아래쪽 화살표를 클릭합니다. Excel에는 작은 색상 팔레트와 기타 옵션이 표시됩니다.
-
더 많은 색상을 선택하십시오. Excel은 색상 대화 상자를 표시합니다.
-
사용자 정의 탭이 표시되는지 확인하십시오.
-
색상 모델 드롭 다운 목록을 사용하여 HSL을 선택합니다. (그림 1 참조)
-
대화 상자 하단에서 Hue, Sat 및 Lum에 대한 개별 값을 볼 수 있습니다. 이 값을 원하는대로 변경하십시오.
-
색상 모델 드롭 다운 목록을 사용하여 RGB를 선택합니다. 대화 상자 맨 아래에 표시된 값은 HSL 값 (6 단계에서 입력)입니다.
RGB로 변환됩니다.
-
완료되면 취소를 클릭합니다.
이 접근 방식에서는 각 HSL 값이 0에서 255 사이의 범위로 표현 될 수 있다고 가정합니다. 그러나 HSL 값이 각도 (색조) 또는 백분율 (채도 및 광도)이면 다음이 필요합니다. 6 단계에서 입력하기 전에 수동으로 변환하려면 각도에 255를 곱한 다음 360으로 나누어 각도 값을 변환 할 수 있습니다.
백분율은 2.55를 곱하여 변환 할 수 있습니다.
값을 더 자주 가져와야하는 경우 사용자 정의 함수를 만들어 변환을 수행하는 것이 도움이됩니다. 다음 예제에서는 세 개의 매개 변수 (Hue, Saturation 및 Luminance)를 허용하고 쉼표로 구분 된 10 진수 RGB 값이 포함 된 문자열을 반환합니다.
Function HSLtoRGB(Hue As Integer, Saturation As Integer, _ Luminance As Integer) As String Dim r As Integer Dim g As Integer Dim b As Integer Dim C As Double Dim X As Double Dim m As Double Dim rfrac As Double Dim gfrac As Double Dim bfrac As Double Dim hangle As Double Dim hfrac As Double Dim sfrac As Double Dim lfrac As Double If (Saturation = 0) Then r = 255 g = 255 b = 255 Else lfrac = Luminance / 255 hangle = Hue / 255 360 sfrac = Saturation / 255 C = (1 - Abs(2 lfrac - 1)) sfrac hfrac = hangle / 60 hfrac = hfrac - Int(hfrac / 2) 2 'fmod calc X = (1 - Abs(hfrac - 1)) C m = lfrac - C / 2 Select Case hangle Case Is < 60 rfrac = C gfrac = X bfrac = 0 Case Is < 120 rfrac = X gfrac = C bfrac = 0 Case Is < 180 rfrac = 0 gfrac = C bfrac = X Case Is < 240 rfrac = 0 gfrac = X bfrac = C Case Is < 300 rfrac = X gfrac = 0 bfrac = C Case Else rfrac = C gfrac = 0 bfrac = X End Select r = Round((rfrac + m) 255) g = Round((gfrac + m) * 255) b = Round((bfrac + m) * 255) End If HSLtoRGB = Str(r) & "," & Str(g) & "," & Str(b) End Function
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (13535)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.