Колір у Ruby2d

Colorце клас, що встановлює колір в Ruby2D.

Ініціалізація за ключовим словом має такий вигляд:

Color.new('назва_кольору')

Тут назва_кольору може мати одне з таких значень:

aqua;
black;
blue;
brown;
fuchsia;
gray;
green;
lime;
maroon;
navy;
olive;
orange;
purple;
red;
silver;
teal;
white;
yellow;
random.

В останньому випадку буде використано випадково породжений колір.

Ініціалізація кольору з допомогою шістнадцяткового коду кольору має такий вигляд (подано приклади й відповідні значення):

Color.new('#001F3F') #=> navy
Color.new('#0074D9') #=> blue
Color.new('#7FDBFF') #=> aqua

Будь-яке правильне шістнадцяткове значення буде правильно працювати.

Ініціалізація за допомогою масиву значень інтенсивності кольорів червоного, зеленого, синього та альфа-каналу (непрозорості), значення яких подано десятковим дробом з проміжку [0; 1]. Наприклад, таким чином:

Color.new([1, 0, 0, 1])         # червоний, повністю непрозорий
Color.new([1.0, 0, 0, 1.0])     # те саме, що й попередній
Color.new([1, 0, 0, 0])         # червоний прозорий
Color.new([0.1, 0.0, 0.0, 0.5]) # червоний, напівпрозорий

Методи r, g, b використовують, щоб повернути інтенсивності відповідно червоного, зеленого й синього каналів як значення від 0 до 1:

color = Color.new('fuchsia')
color.r #=> 0.9411764705882353
color.g #=> 0.0705882352941176
color.b #=> 0.7450980392156863

Методи a, opacity використовують, щоб повернути інтенсивність альфа-каналу як значення від 0 до 1 див. приклад:

color = Color.new([0.1, 0.2, 0.3, 0.4])
color.a       #=> 0.4
color.opacity #=> 0.4

Метод opacity= можна використати для регулювання прозорості кольору:

color = Color.new([0.1, 0.2, 0.3, 0.4])
color.opacity = 0.9