렌파이에는 한 가지 색상 공간을 다른 색 공간으로 변환하거나 다양한 색상 이론 작업을 수행할 때 사용할 수 있는 Color 클래스가 있습니다. Color 객체는 변경할 수 없으며 색상 튜플을 사용할 수 있는 곳이라면 어디든 사용할 수 있습니다.
Color 튜플은 다음 세 가지 색상 공간에 작용할 수 있습니다.
다음은 렌파이에서 수행할 수 있는 색상값을 계산한 예제이며, 모든 색상은 밝은 녹색을 나타냅니다.
# 일반 렌파이 색상.
Color("#0f0")
Color("#00ff00")
Color((0, 255, 0, 255))
# 다른 색 공간으로 변환한다.
Color(hls=(.333, 0.5, 1.0))
Color(hsv=(.333, 1.0, 1.0))
# 새로운 색상을 반환하는 메소드를 사용해 빨간색을 녹색으로 바꾼다.
Color("#f00").rotate_hue(.333)
Color
(color=None, hls=None, hsv=None, rgb=None, alpha=1.0)¶Color 클래스는 색상을 나타내거나 조정하거나 다양한 색 공간으로 변환하기 위해 사용된다. 또한 알파값으로 투명도를 나타낼 수도 있다.
Color 를 생성할 때에는 color, hls, hsv, rgb 인수 가운데 하나를 지정해야 한다. (모두 None이라면 None이 반환된다.)
색상. 렌파이가 해석 가능한 표준 형식 가운데 하나. 다음과 같은 형식이어야 한다.:
지정한 색상에 알파값이 없다면 alpha 를 사용한다. alpha 는 반드시 0.0 이상 1.0 이하이어야 한다.
Color 객체는 (빨간색, 녹색, 파란색, 알파)로 이루어진 4요소 튜플로 사용될 수 있다. 튜플로 사용될 때에는 각 요소의 값이 0 이상 255 이하이어야 한다.
Color 객체는 각 요소를 덧셈 뺄셈 곱셈을 행하는 +, -, * 연산자를 지원한다. 이 가운데 일부 연산자를 사용하면 지원하는 범위 바깥에 있는 색상을 생성하게 될 수도 있다. 이 때 색상은 렌파이의 다른 기능으로 전달되지 않아야 한다. (normalize 메소드로 색상 튜플의 각 요소를 적당한 범위 내의 값으로 제한하는 새로운 색상값을 반환할 수 있습니다.
Color 객체는 아래와 같은 속성이 있다.:
hls
¶색, 밝기, 채도를 부동 소수점 숫자로 나타낸 3요소 튜플을 색상으로 반환한다. 각 요소의 범위는 0.0 이상 1.0 이하이어야 한다.
hsv
¶색, 채도, 명암을 부동 소수점 숫자로 나타낸 3요소 튜플을 색상으로 반환한다. 각 요소의 범위는 0.0 이상 1.0 이하이어야 한다.
rgb
¶빨간색, 녹색, 파란색을 부동 소수점 숫자로 나타낸 3요소 튜플을 색상으로 반환한다. 각 요소의 범위는 0.0 이상 1.0 이하이어야 한다.
alpha
¶이 Color 객체의 알파 (투명도)를 0.0 이상, 1.0 이하의 값으로 반환한다. 0.0은 투명, 1.0은 불투명을 나타낸다.
Color 객체에는 다음과 같은 메소드가 있다. Color 객체는 변경할 수 없으므로 아래 메소드들은 항상 새 Color 객체를 반환한다.
interpolate
(other, fraction)¶Color 객체와 RGB 색 공간에 존재하는 other 를 보간해, 새로운 Color 객체를 반환한다. fraction 이 0.0 이라면 Color 와 같은 색상을 반환하며, 1.0 이면 other 와 같은 색상을 반환한다.
interpolate_hls
(other, fraction)¶Color 객체와 HLS 색 공간에 존재하는 other 를 보간해, 새로운 Color 객체를 반환한다. fraction 이 0.0 이라면 Color 와 같은 색상을 반환하며, 1.0 이면 other 와 같은 색상을 반환한다.
other 는 문자열, Color 객체 또는 HLS 튜플이어야 한다.
interpolate_hsv
(other, fraction)¶Color 객체와 HSV 색 공간에 존재하는 other 를 보간해, 새로운 Color 객체를 반환한다. fraction 이 0.0 이라면 Color 와 같은 색상을 반환하며, 1.0 이면 other 와 같은 색상을 반환한다.
other 는 문자열, Color 객체 또는 HSV 튜플이어야 한다.
multiply_hls_saturation
(saturation)¶Color 객체의 채도를 saturation 만큼 곱해 새로운 Color 객체를 반환한다. HLS 색 공간 시스템으로 계산한다.
multiply_hsv_saturation
(saturation)¶Color 객체의 채도를 saturation 만큼 곱해 새로운 Color 객체를 반환한다. HSV 색 공간 시스템으로 계산한다.
multiply_value
(value)¶Color 객체의 명암을 value 만큼 곱해 새로운 Color 객체를 반환한다. HSV 색 공간 시스템으로 계산한다.
normalize
(self)¶Color 객체를 정상화한 새 Color 객체를 반환한다. 모든 요소를 0 이상 255 이하의 값으로 맞춘다.
opacity
(opacity)¶Color 객체의 알파 채널을 opacity 만큼 곱해 새로운 Color 객체를 반환한다.
replace_hls_saturation
(saturation)¶Color 객체의 채도를 saturation 으로 교체해 새로운 Color 객체를 반환한다. HLS 색 공간 시스템으로 계산한다.
replace_hsv_saturation
(saturation)¶Color 객체의 채도를 saturation 으로 교체해 새로운 Color 객체를 반환한다. HSV 색 공간 시스템으로 계산한다.
replace_hue
(hue)¶Color 객체의 색을 0.0 이상 1.0 이하의 값인 hue 로 교체해 새로운 Color 객체를 반환한다.
replace_lightness
(lightness)¶Color 객체의 밝기를 lightness 로 교체해 새로운 Color 객체를 반환한다. HLS 색 공간 시스템으로 계산한다.
replace_value
(value)¶Color 객체의 명암을 value 로 교체해 새로운 Color 객체를 반환한다. HSV 색 공간 시스템으로 계산한다.
rotate_hue
(rotation)¶Color 객체의 색을 rotation 만큼 회전해 새로운 Color 객체를 반환한다. rotation 은 전체 각도의 비율을 가리키며, 회전하려는 각도를 360.0으로 나눈 값이다.
shade
(fraction)¶Color 객체에 검은색을 혼합해 그림자를 생성한다. fraction 은 검은색에 섞으려는 기존 색상의 비율이다. fraction 이 1.0 이면 색상을 변경하지 않으며, 0.0 이라면 검은색을 반환한다.
알파 채널은 변경하지 않는다.
tint
(fraction)¶Color 객체에 흰색을 혼합해 엷은 색을 생성한다. fraction 은 검은색에 섞으려는 기존 색상의 비율이다. fraction 이 1.0 이면 색상을 변경하지 않으며, 0.0 이라면 검은색을 반환한다.
알파 채널은 변경하지 않는다.