jQuery - анимация цветового цикла с цветовым пространством hsv? - PullRequest
1 голос
/ 08 июня 2010

Я работаю над проектом, для которого мне нужен специальный фон тела. Цвет фона должен циклически изменяться в цветовой гамме, как свет настроения. Итак, я нашел это:

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

«Но» этот фрагмент работает с цветовым пространством RGB, в котором есть очень светлые и темные цвета. Получение только ярких цветов будет работать только с цветовым пространством HSV (например, статические значения S и V равны 100, а цикл H). Я не знаю, как конвертировать и на самом деле, как конвертировать этот фрагмент для моих нужд.

У кого-нибудь есть идея ??

Спасибо заранее. Бест, Флойд

Ответы [ 3 ]

0 голосов
/ 12 октября 2010

ColorJizz должно быть то, что вам нужно.

0 голосов
/ 23 июня 2011

Я считаю, что это тот эффект, который вы искали.Функция 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 голосов
/ 08 июня 2010

Просто используйте готовую функцию преобразования RGB в HSV, например, вот так:

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

Затем просто введите свойвыберите HSV, и вы получите RGB, который можно использовать в анимации.

...