Color API - ProfessorCrown/WIKI-RUSSIA GitHub Wiki
Эта библиотека предназначена для цветовых манипуляций. Он позволяет вам вытягивать и упаковывать цветовые каналы, конвертировать цветовую модель RGB в HSB и наоборот, выполнять Альфа-смешивание, генерировать переходы цвета и конвертировать цвет в 8-битный формат для палитры OpenComputers.
Содержание |
---|
color.RGBToInteger |
color.integerToRGB |
color.blend |
color.transition |
color.RGBToHSB |
color.HSBToRGB |
color.to8Bit |
color.to24Bit |
Пакует три цветовых канала и возвращает 24-битный цвет:
color.RGBToInteger(0xFF, 0x00, 0xFF)
> 0xFF00FF
Вытягивает три цветовых канала из 24-битного цвета:
color.integerToRGB(0xFF00FF)
> 255, 0, 255
color.blend( 24-bit int firstColor, 24-bit int secondColor, float [0.0; 1.0] secondColorTransparency): 24-bit int result
Смешивает два цвета, учитывая прозрачность второго цвета. Например, если вы выполняете эту операцию на цветах 0xFF0000 (красный)
и 0x000000 (черный)
с 0,5
прозрачности второго, то результат будет 0x7F0000 (темно-красный)
:
color.blend(0xFF0000, 0x000000, 0.5)
> 0x7F0000
color.transition( 24-bit int firstColor, 24-bit int secondColor, float [0.0; 1.0]]): 24-bit int transitionColor
Генерирует переходный цвет между первым и вторым цветами, основываясь на аргументе перехода, где значение 0.0
эквивалентно первому цвету, а 1.0
-второму цвету. Например, если выполнить эту операцию для цветов 0x000000 (черный)
и 0xFFFFFF (белый)
с положением перехода равным 0.5
, то результатом будет 0x7F7F7F (серый)
:
color.transition(0x000000, 0xFFFFFF, 0.5)
> 0x7F7F7F
color.RGBToHSB(8-bit int red, 8-bit int green, 8-bit int blue): int [0; 360] hue, float [0.0; 1.0] saturation, float [0.0; 1.0] brightness
Преобразует три цветовых канала цветовой модели RGB в цветовую модель HSB и возвращает соответствующий результат:
color.RGBToHSB(0xFF, 0x00, 0x00)
> 360, 1.0, 1.0
Для удобства есть также способ color.integerToHSB(24-bit int value): int [0; 360] hue, float [0.0; 1.0] saturation, float [0.0; 1.0] brightness
color.HSBToRGB(int [0; 360]* hue, float [0.0; 1.0] saturation, float [0.0; 1.0] brightness): 8-bit int red, 8-bit int green, 8-bit int blue
Преобразует параметры цветовой модели HSB в три цветовых канала модели RGB и возвращает соответствующий результат:
color.HSBToRGB(360, 1.0, 1.0)
> 0xFF, 0xFF, 0xFF
Для удобства есть также способ color.HSBToInteger(int [0; 360]* hue, float [0.0; 1.0] saturation, float [0.0; 1.0] brightness): 24-bit int value
Ищет палитру OpenComputers 256 цветов и возвращает индекс цвета, который наиболее точно соответствует заданному значению, используя тот же метод поиска, что и в gpu.setBackground (значение) do. Возвращаемый 8-битный результат очень полезен для записи в двоичный файл, что позволяет сэкономить дополнительное место на жестком диске. Обратите внимание, что метод довольно медленный, и не подходит для рисования графики на экране в режиме реального времени.
Метод позволяет преобразовать 8-битный индекс, созданный color.to 8-битный метод для 24-битного значения цвета. Эта операция почти мгновенна по сравнению с предыдущим методом.