lib-colors
Version:
Simple node.js library for work with colors
134 lines (85 loc) • 3.71 kB
Markdown
Простая библиотека по определению пустых значений для различных типов данных.
Библиотка 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