Плагин jQuery colours модель HSL - PullRequest
       0

Плагин jQuery colours модель HSL

3 голосов
/ 20 октября 2011

Пока я пытался сделать простое преобразование HSL в RGB с помощью jQuery Color ,

$.colors('hsl(100,100%,50%)').toString('rgb');

Я заметил кое-что странное в структуре HSL: оттенок можно установить в 0до 100, он не принимает значения за пределами этого диапазона, поэтому теоретически hsl(100,100%,50%) === hsl(0,100%,50%) === red

Но после преобразования в RGB я получаю hsl(100,100%,50%) === red и hsl(0,100%,50%) === yellowish-green, что будет истинно, если оттенок будет 1-360 как в теории.

Как это может быть, и как я могу получить полноцветный круг, используя HSL?

1 Ответ

5 голосов
/ 20 октября 2011

Глядя на источник , ожидаемый диапазон для оттенка действительно составляет 0-360.

«Оттенок может быть установлен от 0 до 100, он не принимает значения вне этого диапазона»

Это потому что ошибка в коде проверки . Эта строка должна быть:

if ((a == 1 && result[a] <= 360) || (a > 1 && result[a] <= 100)) {

a[1] содержит захваченное значение для первого шаблона регулярного выражения (соответствует первому аргументу H), а не a[0]. Для иллюстрации вот скрипка: http://jsfiddle.net/vMLZ2/


p.s. Я отправил запрос на получение с исправлением. В то же время, эта демонстрация показывает предложенную модификацию, работающую как ожидалось: http://jsfiddle.net/Gh9kQ/

p.p.s Запрос на извлечение объединен и поэтому должен быть исправлен в последней версии кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...