Класс, представляющий цветовое значение (RGB).
Перечисление Color выдаёт его компоненты (r, g, b) в том же порядке.
Цвет может быть инициализирован любым из следующих способов:
// пустой конструктор - по умолчанию будет белым
const color1 = new v3d.Color();
// шестнадцатеричный цвет (рекомендуется)
const color2 = new v3d.Color(0xff0000);
// RGB-строка
const color3 = new v3d.Color("rgb(255, 0, 0)");
const color4 = new v3d.Color("rgb(100%, 0%, 0%)");
// имя цвета CSS - поддерживаются все 140 цветов
const color5 = new v3d.Color('skyblue');
// строка HSL
const color6 = new v3d.Color("hsl(0, 100%, 50%)");
// значения RGB между 0 и 1
const color7 = new v3d.Color(1, 0, 0);
Обратите внимание, что стандартным методом указания цвета в «Вердж3Д» является шестнадцатеричный триплет, и этот метод используется во всей остальной документации.
Если все аргументы определены, то r — это красный компонент, g — зеленый компонент и b — синий компонент цвета.
Когда определен только r:
'rgb(250, 0,0)''rgb(100%,0%,0%)''hsl(0, 100%, 50%)''#ff0000''#f00''red'Указывает, что объект является экземпляром класса Color. Только для чтения.
Значение красного канала от 0 до 1. По умолчанию 1.
Значение зеленого канала от 0 до 1. По умолчанию 1.
Значение синего канала от 0 до 1. По умолчанию 1.
Добавляет значения RGB из color к значениям RGB текущего цвета.
Устанавливает значения RGB текущего цвета в сумму значений RGB color1 и color2.
Добавляет s к значениям RGB текущего цвета.
Возвращает новый цвет с теми же значениями r, g и b, что и данный.
Копирует параметры r, g и b из color в этот цвет.
Преобразует данный цвет из линейного пространства в пространство sRGB.
Преобразует данный цвет из пространства sRGB в линейное пространство.
color — цвет для копирования.
Копирует заданный цвет в этот цвет, а затем преобразует этот цвет из линейного пространства в пространство sRGB.
color — цвет для копирования.
Копирует заданный цвет в этот цвет, а затем преобразует этот цвет из пространства sRGB в линейное пространство.
Сравнивает RGB-значения color со значениями данного объекта. Возвращает true, если они одинаковы, false в противном случае.
Устанавливает компоненты текущего цвета на основе массива, отформатированного как [r, g, b].
Устанавливает компоненты текущего цвета из атрибута BufferAttribute.
Устанавливает компоненты текущего цвета из атрибута BufferAttribute.
Возвращает шестнадцатеричное значение текущего цвета в виде строки (например, 'FFFFFF').
target — результат будет скопирован в этот объект. Добавляет ключи h, s и l к объекту (если они еще не присутствуют).
Преобразует значения r, g и b текущего цвета в формат HSL и возвращает объект вида:
{ h: 0, s: 0, l: 0 }
Возвращает значение текущего цвета в виде строки стиля CSS, например rgb(255,0,0).
Линейно интерполирует значения RGB текущего цвета к значениям RGB переданного аргумента. Аргумент alpha можно представить как соотношение между двумя цветами, где 0.0 - данный цвет, а 1.0 - первый аргумент.
[0, 1].
Устанавливает текущий цвет как результат интерфоляции между color1 и color2 где alpha процентное расстояние вдоль линии, соединяющей два цвета - alpha = 0 станет color1, а alpha = 1 станет color2.
[0, 1].
Линейно интерполирует значения HSL текущего цвета к значениям HSL переданного аргумента. Он отличается от классического .lerp тем, что не интерполирует прямо от одного цвета к другому, а проходит через все оттенки между этими двумя цветами. Аргумент alpha можно представить как соотношение между двумя цветами, где 0.0 - этот цвет, а 1.0 - первый аргумент.
Умножает значения RGB текущего цвета на значения RGB данного color.
Умножает значения RGB текущего цвета на s.
Добавляет заданные значения h, s и l к значениям текущего цвета. Внутренне это преобразует значения r, g и b цвета в HSL, добавляет h, s и l, а затем преобразует цвет обратно в RGB.
value — значение для установки текущего цвета.
Смотрите конструктор выше для получения полной информации о том, чем может быть value. Делегирует .copy, .setStyle или .setHex в зависимости от типа ввода.
hex — шестнадцатеричный триплет формат.
Устанавливает этот цвет из шестнадцатеричного значения.
Устанавливает цвет из значений HSL.
Устанавливает данный цвет из значений RGB.
scalar — значение между 0.0 и 1.0.
Устанавливает все три цветовых компонента в значение scalar.
style — цвет как строка CSS-стиля.
Устанавливает этот цвет из строки CSS-стиля. Например,
"rgb(250, 0,0)""rgb(100%, 0%, 0%)""hsl(0, 100%, 50%)""#ff0000""#f00""red"или любого имени цвета X11 [link:https://ru.wikipedia.org/wiki/Список_цветов_в_X11] - поддерживаются все 140 названий цветов).
Полупрозрачные цвета, такие как "rgba(255, 0, 0, 0, 0.5)" и "hsla(0, 100%, 50%, 0.5)" также принимаются, но координата альфа-канала будет отброшена.
Обратите внимание, что для названий цветов X11 несколько слов, таких как Dark Orange, превращаются в строку 'darkorange' (все строчные буквы).
style — название цвета (из X11 названий цветов).
Устанавливает этот цвет из имени цвета. Быстрее, чем метод .setStyle, если вам не нужны другие форматы CSS-стилей.
Для удобства список имен представлен в Color.NAMES в виде хэша:
Color.NAMES.aliceblue // returns 0xF0F8FF
Вычитает компоненты RGB данного цвета из компонентов RGB текущего цвета. Если в результате получается отрицательный компонент, он устанавливается равным нулю.
Возвращает массив вида [r, g, b].
О том как получить исходный код этого модуля читайте тут.