UNPKG

lib-colors

Version:

Simple node.js library for work with colors

134 lines (85 loc) 3.71 kB
Простая библиотека по определению пустых значений для различных типов данных. Библиотка javascript/typescript (ES6) для node.js. # Установка ``` npm install lib-colors ``` или ``` yarn add lib-colors ``` # Начало работы Можно импортировать методы как с отдельные функции: ``` import { rgb, cmyk } from 'lib-colors'; const color = rgb(0, 127, 255, 1).toHex(); ``` # Описание Идея в том, чтобы сделать работу с цветом максимально простой. Достаточно вызвать метод по названию цветового представления и передать нужные параметры. Например: ``` const colorFromHex = hex('#000000'); const colorFromHsl = hsl(120, 100, 50); const colorFromRgb = rgb(0, 0, 0); const colorFromGrayscale = gray(0.5); ``` > Эти функции возвращают объект Чтобы вывести цвет в другом представлении, нужно из объекта вызвать соответствующий метод. Например: ``` const hslColor = color.hsl(); const rgbColor = color.rgb(); const grayscaleColor = color.gray(); ``` > Метод вернет новый объект Чтобы получить строку, нужно вызвать у объекта метод **toString()**: ``` console.log(color.toString()); console.log(String(color)); console.log(`${color}`); ``` Для примера преобразуем RGB в объект CMYK: ``` const cmykFromRgb = rgb(127, 127, 255).cmyk(); ``` И преобразуем CMYK в строку RGB: ``` const rgbFromCmyk = cmyk(0, 100, 100, 0).rgb().toString(); ``` Внутри каждого класса есть свойства цветовых составляющих. Эти свойства можно динамически менять. Например: ``` const rgbColor = rgb(127, 127, 255); rgbColor.r += 10; rgbColor.g *= 1.1; console.log(rgbColor.toString()); ``` > Не бойтесь выйти за предельные значения, класс сам автоматически ограничит их Чтобы получить предельные значения, обратитесь к свойству **max**: ``` const rgbColor = rgb(127, 127, 255); console.log(rgbColor.max.r); ``` # Список методов На данный момент реализованы классы и методы: - cmyk, - gray (grayscale), - hsl, - lab (в т.ч. xyz), - rgb (в т.ч. hex). > Библиотека находится в разработке. Не все классы могут преобразовываться в другие классы. Для некоторых классов есть специфичные методы. Например, в классе **RGB** есть методы: - toHex, - fromHex. В классе **CMYK** есть метод: - sum. # Поддержка Больше интересных библиотек в репозитории. Если библиотека понравилась, и вы хотите меня поддержать, не пожалейте поставить звездочку. А сейчас просто обнимите своих родных и близких, скажите им, как вы их любите. # Лицензия Лицензия MIT, 2025