Color

Класс, представляющий цвет(Color).

Примеры Кода

Цвет может быть инициализирован любым из следующих способов:

//пустой конструктор - по умолчанию будет белым 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%)"); //Имя цвета X11 - поддерживаются все 140 имен цветов. //Обратите внимание на отсутствие CamelCase в названии 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);

Конструктор

Color(r : Color_Hex_or_String, g : Float, b : Float)

r — (необязательно) Если определены аргументы g и b, красная составляющая цвета. Если они не определены, это может быть hexadecimal triplet (рекомендуется), строка в стиле CSS или другой экземпляр Color.
g — (необязательно) Если он определен, зеленый компонент цвета.
b — (необязательно) Если он определен, синий компонент цвета.

Обратите внимание, что стандартным методом указания цвета в Verge3D является hexadecimal triplet, и этот метод используется во всей остальной документации.

Если все аргументы определены, то r — это красный компонент, g — зеленый компонент и b — синий компонент цвета.
Когда определен только r:

Свойства

.r : Float

Значение красного канала между 0 и 1. По умолчанию 1.

.g : Float

Значение зеленого канала от 0 до 1. По умолчанию 1.

.b : Float

Значение синего канала от 0 до 1. По умолчанию 1.

Методы

.add(color : Color) → Color

Добавляет значения RGB из color к значениям RGB этого цвета.

.addColors(color1 : Color, color2 : Color) → Color

Устанавливает значения RGB этого цвета в сумму значений RGB color1 и color2.

.addScalar(s : Number) → Color

Добавляет s к значениям RGB этого цвета.

.clone() → Color

Возвращает новый Цвет с теми же значениями r, g и b, что и данный.

.copy(color : Color) → Color

Копирует параметры r, g и b из color в этот цвет.

.convertGammaToLinear(gammaFactor : Float) → Color

gammaFactor — (необязательно). По умолчанию 2.0.

Преобразует данный цвет из гамма-пространства в линейное пространство, взяв r, g и b в степени gammaFactor.

.convertLinearToGamma(gammaFactor : Float) → Color

gammaFactor — (необязательно). По умолчанию 2.0.

Преобразует данный цвет из линейного пространства в гамма-пространство, взяв r, g и b в степени 1 / gammaFactor.

.convertLinearToSRGB() → Color

Преобразует данный цвет из линейного пространства в пространство sRGB.

.convertRGBEToLinear(expFactor : Float) → Color

expFactor — Общая экспонента RGBE.

Преобразует данный цвет из формата RGBE в линейный.

.convertSRGBToLinear() → Color

Преобразует данный цвет из пространства sRGB в линейное пространство.

.copyGammaToLinear(color : Color, gammaFactor : Float) → Color

color — Цвет для копирования.
gammaFactor — (необязательно). По умолчанию 2.0.

Копирует заданный цвет в этот цвет, а затем преобразует этот цвет из гамма-пространства в линейное пространство, взяв r, g и b в степени gammaFactor.

.copyLinearToGamma(color : Color, gammaFactor : Float) → Color

color — Цвет для копирования.
gammaFactor — (необязательно). По умолчанию 2.0.

Копирует заданный цвет в этот цвет, а затем преобразует этот цвет из линейного пространства в гамма-пространство, взяв r, g и b в степени 1 / gammaFactor.

.copyLinearToSRGB(color : Color]) → Color

color — Цвет для копирования.
Копирует заданный цвет в этот цвет, а затем преобразует этот цвет из линейного пространства в пространство sRGB.

.copyRGBEToLinear(color : Color, expFactor : Float]) → Color

color — Цвет для копирования.
expFactor — Общая экспонента RGBE.

Копирует заданный цвет в этот цвет, а затем преобразует этот цвет из формата RGBE в линейный.

.copySRGBToLinear(color : Color) → Color

color — Цвет для копирования.
Копирует заданный цвет в этот цвет, а затем преобразует этот цвет из пространства sRGB в линейное пространство.

.equals(color : Color) → Boolean

Сравнивает RGB-значения color со значениями данного объекта. Возвращает true, если они одинаковы, false в противном случае.

.fromArray(array : Array, offset : Integer) → Color

array - Array поплавков в виде [r, g, b].
offset — Необязательное смещение в массиве.

Устанавливает компоненты этого цвета на основе массива, отформатированного как [r, g, b].

.fromBufferAttribute(attribute : BufferAttribute, index : Integer) → this

attribute — атрибут источника.
index — индекс в атрибуте.

Устанавливает компоненты этого цвета из атрибута BufferAttribute.

.getHex() → Integer

Устанавливает компоненты этого цвета из атрибута BufferAttribute.

.getHexString() → String

Возвращает шестнадцатеричное значение этого цвета в виде строки (например, 'FFFFFF')..

.getHSL(target : Object) → Object

target — результат будет скопирован в этот объект. Добавляет ключи h, s и l к объекту (если они еще не присутствуют).

Преобразует значения r, g и b этого Color в формат HSL и возвращает объект вида: { h: 0, s: 0, l: 0 }

.getStyle() → String

Возвращает значение этого цвета в виде строки стиля CSS. Пример: 'rgb(255,0,0)' формы:

.lerp(color : Color, alpha : Float) → Color

color — цвет для сходства.
alpha — коэффициент интерполяции в замкнутом интервале [0, 1].

Линейно интерполирует значения RGB этого цвета к значениям RGB переданного аргумента. Аргумент alpha можно представить как соотношение между двумя цветами, где 0.0 - данный цвет, а 1.0 - первый аргумент.

.lerpHSL(color : Color, alpha : Float) → Color

color — цвет для сходства.
alpha — коэффициент интерполяции в замкнутом интервале [0, 1].

Линейно интерполирует значения HSL этого цвета к значениям HSL переданного аргумента. Он отличается от классического .lerp тем, что не интерполирует прямо от одного цвета к другому, а проходит через все оттенки между этими двумя цветами. Аргумент alpha можно представить как соотношение между двумя цветами, где 0.0 - этот цвет, а 1.0 - первый аргумент.

.multiply(color : Color) → Color

Умножает значения RGB этого цвета на значения RGB данного color.

.multiplyScalar(s : Number) → Color

Умножает значения RGB этого цвета на s.

.offsetHSL(h : Float, s : Float, l : Float) → Color

Добавляет заданные значения h, s и l к значениям этого цвета. Внутренне это преобразует значения r, g и b цвета в HSL, добавляет h, s и l, а затем преобразует цвет обратно в RGB.

.set(value : Color_Hex_or_String) → Color

value — Значение для установки этого цвета.

Смотрите Конструктор выше для получения полной информации о том, чем может быть value. Делегирует .copy, .setStyle или .setHex в зависимости от типа ввода.

.setHex(hex : Integer) → Color

hexhexadecimal triplet формат.

Устанавливает этот цвет из шестнадцатеричного значения.

.setHSL(h : Float, s : Float, l : Float) → Color

h — значение оттенка в диапазоне от 0,0 до 1,0
s — значение насыщенности от 0,0 до 1,0
l — значение освещенности в диапазоне от 0,0 до 1,0

Устанавливает цвет из значений HSL.

.setRGB(r : Float, g : Float, b : Float) → Color

r — значение красного канала между 0,0 и 1,0.
g — значение зеленого канала между 0,0 и 1,0.
b — значение синего канала между 0,0 и 1,0.

Устанавливает данный цвет из значений RGB.

.setScalar(scalar : Float) → Color

scalar — значение между 0.0 и 1.0.

Устанавливает все три цветовых компонента в значение scalar.

.setStyle(style : String) → Color

style — цвет как строка CSS-стиля.

Устанавливает этот цвет из строки CSS-стиля. Например, "rgb(250, 0,0)", "rgb(100%, 0%, 0%)", "hsl(0, 100%, 50%)", "#ff0000", "#f00", or "red" (или любого имени цвета X11 [link:https://en.wikipedia.org/wiki/X11_color_names#Color_name_chart] - поддерживаются все 140 названий цветов).
Полупрозрачные цвета, такие как "rgba(255, 0, 0, 0, 0.5)" и "hsla(0, 100%, 50%, 0.5)" также принимаются, но координата альфа-канала будет отброшена.

Обратите внимание, что для названий цветов X11 несколько слов, таких как Dark Orange, превращаются в строку 'darkorange' (все строчные буквы).

.setColorName(style : String) → Color

style — название цвета (from X11 названий цветов).

Устанавливает этот цвет из имени цвета. Быстрее, чем метод .setStyle, если вам не нужны другие форматы CSS-стилей.

Для удобства список имен представлен в Color.NAMES в виде хэша: Color.NAMES.aliceblue // returns 0xF0F8FF

.sub(color : Color) → Color

Вычитает компоненты RGB данного цвета из компонентов RGB этого цвета. Если в результате получается отрицательный компонент, он устанавливается равным нулю.

.toArray(array : Array, offset : Integer) → Array

array — Необязательный массив для хранения цвета.
offset — Необязательное смещение в массиве.

Возвращает массив вида [r, g, b].

Исходный файл

О том как получить исходный код этого модуля читайте тут.