Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2268 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.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


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

См.также

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

  1. processing.org - red()