2014-02-21 16 views
0

나는 이것을 올바르게합니까? 예를 들어, RGB(165,165,165)이 있고 이것을 HSL로 변환합니다 (Get (0, 0, 64.7)). 실제로 xml을 구문 분석하고 거기에 두 개의 매개 변수를 lumMod = '60 000 '및 lumOff = '40 000'(내가 L 구성 요소에 0.6을 곱한 다음 L 구성 요소에 0.4를 더해야한다는 것을 알고 있음)새로운 HSL Color를 lumMod/lumOff로 가져 오기

좋아요 new_l = 0.647*0.6 + 0.4 = 0.7882

그리고 지금 나는 사실 내가 RGB (183,183,183)를 얻을 필요 RGB(198, 198, 198)

에 HSL (0, 0, 78.8)에서 다시 변환합니다. 왜냐하면 그것은 옳은 대답이기 때문입니다. 내가 잘못한 곳?

답변

0

밤새도록 디버깅을 한 후 제 질문에 대한 답변을 얻었습니다. this 주제

차트가 수행하는 알고리즘에서 왕 Salemno에

덕분에, 다음 단계는 수행됩니다

  1. 들이 관심있는 기본 색상의 RGB를 얻습니다 (예 : 악센트 3)

  2. HSL로 변환

  3. 곱하기

  4. 는 RGB

동일한 논리는 또한 satMod, satOff, hueMod, & hueOff 적용 다시 변환 패 lumMod

의한 성분
  • L 개의 컴포넌트 lumOff 추가. (255, 255, 255) 또는 (123, 123, 123) (AS 같은) I는 lumMod = lumMod - 0.04(+-0.005)에 lumMod을 변경 lumoff위한 동일한 기능을 수행하는 모든 레벨에 대해 하나 개의 값을 가질

  • 그러나 RGB 컬러 용

    , 매개 변수.

    그래서 RGB (165,165,165)가 있고이를 HSL (0, 0, 0.647)로 변환하십시오. 내가 HSL.L = HSL.L*(lumMod - 0.04) + (lumOff - 0.04) = 0.718 을 변경하고 지금은 RGB (183,183,183)에 HSL (0, 0, 0.718)에서 다시 변환 한 후에는이 같은 일을 왜 는

    나도 몰라,하지만 작동합니다. 나는 그것을 찾으려고 노력했다.