Processing:Справочник языка Processing/red()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску


Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Cat poo.png Черновик


red() [1]

Обозначение

red()

Описание

Извлекает из цветовой переменной значение красного, но масштабированное под числовой диапазон, заданный при помощи метода colorMode(). Возвращаемое значение – это всегда float, поэтому будьте осторожны и не присвойте его случайно переменной типа int.

Метод red() прост и для понимания, и в использовании, но он работает медленнее, чем техники под названием «битовый сдвиг» и «битовая маска». Если у вас в коде вызван метод colorMode(RGB, 255), то битовые сдвиг (для него понадобится оператор сдвига вправо >>) и маска позволяют достичь тех же результатов, что и метод red(), но быстрее. К примеру, две строчки кода ниже выполняют одну и ту же задачу, извлекая значение красного из цветовой переменной c:

float r1 = red(c);  // проще, но медленнее обрабатывается
float r2 = c >> 16 & 0xFF;  // очень быстро обрабатывается

Синтаксис

red(rgb)

Параметры

rgb  любое значение цветового типа данных. Тип данных  int

Возвращаемое значение

Тип данных  float

Пример

Processing red 0.png


color c = color(255, 204, 0);  // задаем цветовую переменную 'c'
fill(c);  // используем переменную 'c' как цвет заполнения
rect(15, 20, 35, 60);  // рисуем левый прямоугольник
	
float redValue = red(c);  // извлекаем значение красного из 'c'
println(redValue);  // печатаем "255.0"
fill(redValue, 0, 0);  // используем 'redValue'
                       // как новый цвет заполнения
rect(50, 20, 35, 60);  // рисуем правый прямоугольник

См.также

Внешние ссылки