2014-11-03 3 views
0

사용자가 색상의 rgb 값과 몇 개의 음영 및 색조를 인쇄할지 프로그램을 작성하려고합니다. 기본적으로 가장 왼쪽의 색상이 사용자가 입력 한 기본 색상 인 그리드를 인쇄하고 흑백 또는 흑색에 도달 할 때까지 그 음영 또는 색조가 더 밝거나 어둡게 나타나는 지 여부에 따라 달라집니다.파이썬에서 rgb 값을 사용하여 여러 가지 음영 및 색조를 계산하는 방법

:

사용자 입력 : R = 255, G = 0, B = 0, numTints = 5 numShades = 8

인쇄 차양 : 적색, 진한 적색, 진한 적색, 진한 레드 블랙.

색조가 흰색이 될 때까지 가볍게 만 맞 춥니 다.

저는 프로그래밍과 파이썬에 익숙하지 않아서 음영과 색조를 계산하고 흑백으로 멈추는 방법을 찾는 데 어려움을 겪고 있습니다.

답변

0

기본적으로 구성 요소 간의 비율을 일정하게 유지하려고합니다. 그래서 더 어둡게 만들려면 3 개의 모든 구성 요소에 상수를 곱하면됩니다. 예 : 0.9 모두 0이 될 때까지 검은 색을 의미합니다. 그것이 심지어 검은 색으로 감소 또는 얼마나 많은 음영 또는 색조에 따라 흰색으로 증가 될 수 있도록

곱셈 내가 비율을 계산할 수있는 방법 (255)

+0

에서 1보다 큰 수, 클램프에 의해, 밝게 만들려면 사용자가 원한다. 그래서 만약 그들이 4,6, 또는 9 개의 색조를 원한다면, 어떤 계산을 통해 rgb 값을 곱해야하는지 알아낼 수 있습니까? – user2052567

+0

그것은 간단한 대수학입니다. 가장 높은 구성 요소 값이 C이고 N 단계를 원하면 C를 F로 곱하고 N을 0으로 설정해야합니다. 그래서, C * F^N < 1 ==> F ~ exp (log (1/C)/N) [방금 머리에서 썼다. 수학을 확인] – Photon

+0

F : (1/C))^(1/N) – Photon