Processing:Справочник языка Processing/red(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


= red() <ref>[https://processing.org/reference/red_.html  processing.org - red()]</ref>=
= red() <ref>[https://processing.org/reference/red_.html  processing.org - red()]</ref>=
Строка 10: Строка 10:
==Обозначение==
==Обозначение==


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
float r1 = red(c);  // проще, но медленнее обрабатывается
float r1 = red(c);  // проще, но медленнее обрабатывается
float r2 = c >> 16 & 0xFF;  // очень быстро обрабатывается
float r2 = c >> 16 & 0xFF;  // очень быстро обрабатывается
Строка 27: Строка 27:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
red(rgb)
red(rgb)
</syntaxhighlight>
</syntaxhighlight>
Строка 33: Строка 33:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
rgb – любое значение цветового типа данных. Тип данных – int
rgb – любое значение цветового типа данных. Тип данных – int
</syntaxhighlight>
</syntaxhighlight>
Строка 39: Строка 39:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Тип данных – float
Тип данных – float
</syntaxhighlight>
</syntaxhighlight>
Строка 48: Строка 48:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
color c = color(255, 204, 0);  // задаем цветовую переменную 'c'
color c = color(255, 204, 0);  // задаем цветовую переменную 'c'
fill(c);  // используем переменную 'c' как цвет заполнения
fill(c);  // используем переменную 'c' как цвет заполнения
Строка 81: Строка 81:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Версия от 12:11, 20 мая 2023


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



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

Пример


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);  // рисуем правый прямоугольник

См.также

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