2010-06-08 5 views
1

나는 특별한 신체 - 배경이 필요한 프로젝트를 진행 중이다. 배경색은 무드 라이트와 같은 컬러 스펙트럼을 순환해야합니다. 그래서이 발견 :jQuery - hsv 색상 공간을 사용하는 색상 사이클 애니메이션?

http://buildinternet.com/2009/09/its-a-rainbow-color-changing-text-and-backgrounds/

"그러나"이 코드는 몇 가지 매우 가볍고 어두운 색상을 가진 RGB 색 공간으로 노력하고 있습니다. 밝은 색상을 얻는 것은 HSV 색상 공간에서만 작동합니다 (예 : S 및 V 정적을 100으로두고 H 사이클을 사용). 나는 어떻게 변환해야할지 모르겠다. 실제로 내 요구에 맞게이 스 니펫을 포주하는 법을 배웠다.

누구나 아이디어가 있습니까 ??

미리 감사드립니다. 제일, 플로이드

답변

0

그냥 예를 들어 다음과 같이 HSV 변환 기능에 RGB를 만든 준비 사용으로

http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript

그럼 그냥 입력 색상 HSV와 당신 ' 애니메이션에서 사용할 수있는 RGB를 얻을 수 있습니다.

+0

안녕하세요, 빠른 답변 감사드립니다. 하지만이 변환기는 어디에 두어야합니까? 여기에 애니메이터가 rgb를 잡기 위해 색 안에 ja를 던져 넣을 수는 없습니다. 변환 된 HSV를 애니메이터에게 어떻게 출력합니까? 당신은 내 문제는 변환기가 아니라 그것을 통합하는 방법을 참조하십시오. –

+0

안녕하세요, Info for Tatu Ulmanen 덕분에 문제가 해결되지 않았습니다. 나는 아직도 다음 자바 스크립트를 사용하고있다 : http://buildinternet.com/2009/09/its-a-rainbow-color-changing-text-and-backgrounds/. 그러나 알고리즘을 사용하여 RGB를 HSV로 변환하는 방법을 모르겠습니다. 내 사건에 쓸 여분의 시간을 가진 사람 있습니까? 나는 그렇게 기뻐할 것이다. –

0

나는 이것이 당신이 찾고 있던 효과라고 생각합니다. randRange() 함수를 사용하면 최소값과 최대 값을 지정할 수 있습니다.

<script language="JavaScript" type="text/javascript"> 
function randRange(lowVal,highVal) { 
    return Math.floor(Math.random()*(highVal-lowVal+1))+lowVal; 
} 
function spectrum(){ 
    var hue = 'rgb(' + randRange(100,256) + ',' + randRange(100,256) + ',' + randRange(100,256) + ')'; 
    $('#div').animate({ backgroundColor: hue }, 1000); 
    spectrum(); 
} 
$(function(){ 
    spectrum(); 
}); 
</script> 
+0

쿨, 나는 그것을 시험 할 것이다! –

관련 문제