`RGB` ? `YCbCr` ?

Zion·2023년 7월 3일
0

배경색에 따라 이미지를 Light🌞모드 또는 다크모드🌚로 셋팅해주어야한다.

보통 다크모드 Asset 여부에 따라 셋팅하지만 그런게 없기 때문에 배경색 값으로 판별해야한다..!🤗

(이가 없으면 잇몸으로도 씹어야한다^^ 어떻게든 되게해!)

사전 지식

Wiki-RGB

Wiki-YCbCr

Wiki-휘도(Luminance)

색으로부터 밝기를 알려면 Y(Luminance)값을 알면 되겠다.

Brightness vs. Luminance?


→ Luminance(휘도)는 빛의 양, Brightness(명도)는 색이 흐린지 또렷한지(?)로 이해함.


gray일때를 제외하곤, brightness는 1.0이다.

색깔이 밝고 어두운지 알려면 무슨값을 비교하면 될까?

color.getRed(&r, green: &g, blue: &b, alpha: &alpha)

let luminance = (r * 299 + g * 587 + b * 114) / 1000

luminance를 구하기 r, g, b들의 weight 값들은 아래가 출처다.


출처 BT.601-7

결론

let luminance = (r * 299 + g * 587 + b * 114) / 1000

값이 원하는 휘도값이상이면 밝다 밝지않다. 로 판단하면 된다.
나는 0.5를 기준으로 했다.

profile
어제보다만 나아지는

0개의 댓글