웹사이트 관련 팁들을 모아놓은 곳입니다. 좋은팁 공유 합시다.
  • 웹미니 한줄 전광판 영역 입니다.
글 수 186

0

조회 수 : 7221 신고 : 0

작성자 : 웹기프트
포인트 : 17 | 레벨 : 0

출처 : http://snipplr.com/view/14590/hsv-to-rgb/


HSV TO RGB


Published in: JavaScript 


HSV to RGB color conversion. Ported from the excellent java algorithm by Eugene Vishnevsky at: http://www.cs.rit.edu/~ncs/color/t_convert.html.

<pre class="javascript javascript" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; font: normal normal normal 115%/normal monospace; line-height: 1.22em; font-size: 12px; color: black; font-family: monospace; ">
  1. /**
  2.  * HSV to RGB color conversion
  3.  *
  4.  * H runs from 0 to 360 degrees
  5.  * S and V run from 0 to 100
  6.  *
  7.  * Ported from the excellent java algorithm by Eugene Vishnevsky at:
  8.  * http://www.cs.rit.edu/~ncs/color/t_convert.html
  9.  */
  10. function hsvToRgb(h, s, v) {
  11. var r, g, b;
  12. var i;
  13. var f, p, q, t;
  14.  
  15. // Make sure our arguments stay in-range
  16. = Math.max(0, Math.min(360, h));
  17. = Math.max(0, Math.min(100, s));
  18. = Math.max(0, Math.min(100, v));
  19.  
  20. // We accept saturation and value arguments from 0 to 100 because that's
  21. // how Photoshop represents those values. Internally, however, the
  22. // saturation and value are calculated from a range of 0 to 1. We make
  23. // That conversion here.
  24. /= 100;
  25. /= 100;
  26.  
  27. if(== 0) {
  28. // Achromatic (grey)
  29. = g = b = v;
  30. return [Math.round(* 255), Math.round(* 255), Math.round(* 255)];
  31. }
  32.  
  33. /= 60// sector 0 to 5
  34. = Math.floor(h);
  35. = h - i; // factorial part of h
  36. = v * (1 - s);
  37. = v * (1 - s * f);
  38. = v * (1 - s * (1 - f));
  39.  
  40. switch(i) {
  41. case 0:
  42. = v;
  43. = t;
  44. = p;
  45. break;
  46.  
  47. case 1:
  48. = q;
  49. = v;
  50. = p;
  51. break;
  52.  
  53. case 2:
  54. = p;
  55. = v;
  56. = t;
  57. break;
  58.  
  59. case 3:
  60. = p;
  61. = q;
  62. = v;
  63. break;
  64.  
  65. case 4:
  66. = t;
  67. = p;
  68. = v;
  69. break;
  70.  
  71. default: // case 5:
  72. = v;
  73. = p;
  74. = q;
  75. }
  76.  
  77. return [Math.round(* 255), Math.round(* 255), Math.round(* 255)];
  78. }
</pre>

Report this snippet 

소중한 댓글 부탁드립니다.
추천수 10단위당 메달이 1개씩 노출되고, 추천수에 따라 배경색이 변하며, 일정수의 추천수를 받을시 BEST 아이콘이 붙게됩니다.
추천수에 따른 배경색 보기 본문으로 바로가기
  • 추천수 50개이상
  • 추천수 30개이상
  • 추천수 20개이상
  • 추천수 10개이상
  • 추천수 3개이상
닫기

댓글 '2'

스마일조아 (118187)

2009.11.04 20:03:50

좋은 정보 감사합니다.
열혈개미 (207631)

2010.06.18 19:30:18

감사합니다.

List of Articles
번호 제목 글쓴이 날짜 추천 수 조회 수sort
166 Get URL 파라미터 불러오기 [4] 웹기프트 2009-10-11   7603
165 포토샵에서 텍스트작업 [9] title: [ani]깜빡이는 표정빽짱구 2005-07-04 16 7598
164 파폭에서도 @font-face sky 2009-11-25   7239
163 HSV TO RGB [2] 웹기프트 2009-10-12   7221
162 best of best select 폼 예쁘게 꾸며보기 [3] title: [ani]깜빡이는 표정빽짱구 2005-03-15 29 7141
161 best of best 하이퍼링크란? (절대경로와 상대경로) title: [ani]깜빡이는 표정빽짱구 2004-10-17 33 7120
160 디렉토리 리스트를 배열로 가져오기 [2] 웹기프트 2009-10-12   7078
159 홈페이지 마우스 커서 (오버시) 바꾸기 [2] title: [ani]깜빡이는 표정빽짱구 2004-10-30 12 6880
158 scope="col" 와 scope="row" title: [ani]깜빡이는 표정빽짱구 2011-05-24   6781
157 best of best 서버이전 할경우 이미지네임관련 [4] title: [ani]깜빡이는 표정빽짱구 2005-03-19 32 6612
156 자신만의 favicon 만들어보세요. file [10] title: 버섯이슬이 2010-01-12   6609
155 랜덤 스타일시트 불러오기 [4] 웹기프트 2009-10-11   6579
154 [펌]개인 컴퓨터로 서버만드는 방법[펌] [5] 조민수 2004-07-27 13 6415
153 입력한 주민번호로 나이와 성별 알아내기 title: [ani]깜빡이는 표정빽짱구 2004-04-22 10 6312
152 best of best 홈페이지에 FTP 폼 넣기 [5] title: [ani]깜빡이는 표정빽짱구 2005-03-15 52 6238
151 반복적으로 파일가져오기 [4] 웹기프트 2009-10-12   6228
150 best of best 창닫기 버튼 title: [ani]깜빡이는 표정빽짱구 2004-08-19 28 6188
149 플래쉬 아래로 레이어가뜰때 해결방법 [1] title: [ani]깜빡이는 표정빽짱구 2009-04-23   6174
148 best of best 제홈 메인테이블 소스 [9] title: [ani]깜빡이는 표정빽짱구 2005-01-06 28 6122
147 best of best 웹디자인..할때 필요할듯. [2] 맑은숲 2005-03-12 27 5894