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

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


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


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
colorMode()
colorMode()
</syntaxhighlight>
</syntaxhighlight>
Строка 22: Строка 22:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
colorMode(mode)
colorMode(mode)
colorMode(mode, max)
colorMode(mode, max)
Строка 31: Строка 31:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
mode – значение RGB (красный, зеленый, синий) или HSB (цветовой тон, насыщенность, яркость). Тип данных – int
mode – значение RGB (красный, зеленый, синий) или HSB (цветовой тон, насыщенность, яркость). Тип данных – int
max  – числовой диапазон для всех цветовых элементов. Тип данных – float
max  – числовой диапазон для всех цветовых элементов. Тип данных – float
Строка 42: Строка 42:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void
void
</syntaxhighlight>
</syntaxhighlight>
Строка 53: Строка 53:




<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">
noStroke();
noStroke();
colorMode(RGB, 100);
colorMode(RGB, 100);
Строка 69: Строка 69:




<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">
noStroke();
noStroke();
colorMode(HSB, 100);
colorMode(HSB, 100);
Строка 85: Строка 85:




<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">
//  если задать цвет здесь, то colorMode() в блоке setup()
//  если задать цвет здесь, то colorMode() в блоке setup()
//  на него не повлияет;
//  на него не повлияет;
Строка 128: Строка 128:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

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


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



colorMode() [1]

Обозначение

colorMode()

Описание

Меняет то, как Processing интерпретирует цветовые данные. По умолчанию параметры для методов fill(), stroke(), background() и color() определяются значениями в диапазоне от «0» до «255» в цветовом формате RGB. Метод colorMode() используется для того, чтобы поменять числовой диапазон, используемый для указания цветов, и переключить цифровой формат. К примеру, если вызвать colorMode(RGB, 1.0), то диапазон значений теперь будет в диапазоне от «0» до «1». Пределы для цветовых значений можно поменять при помощи параметров max, max1, max2, max3 и maxA.

Кроме того, если задать некоторые числовые диапазоны при помощи, к примеру, colorMode(HSB, 360, 100, 100), то эти диапазоны останутся даже при изменении цветового формата – разве что не поменять их явно новым вызовом этого метода. Например, если вызвать colorMode(HSB, 360, 100, 100), а затем переключиться обратно при помощи colorMode(RGB), то диапазон для R (т.е. для красного цвета) будет 0-360, а для G и B (т.е. для зеленого и синего цветов) – 0-100. Чтобы избежать этого, при переключении на формат RGB нужно явно задать новые числовые диапазоны. К примеру, вместо colorMode(RGB) вызвать colorMode(RGB, 255, 255, 255).

Синтаксис

colorMode(mode)
colorMode(mode, max)
colorMode(mode, max1, max2, max3)
colorMode(mode, max1, max2, max3, maxA)

Параметры

mode  значение RGB (красный, зеленый, синий) или HSB (цветовой тон, насыщенность, яркость). Тип данных  int
max   числовой диапазон для всех цветовых элементов. Тип данных  float
max1  числовой диапазон для красного цвета или цветового тона (зависит от текущего цветового режима). Тип данных  float
max2  числовой диапазон для зеленого цвета или насыщенности (зависит от текущего цветового режима). Тип данных  float
max3  числовой диапазон для синего цвета или яркости (зависит от текущего цветового режима). Тип данных  float
maxA  числовой диапазон для указания прозрачности. Тип данных  float

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

void

Пример

№1


noStroke();
colorMode(RGB, 100);
for (int i = 0; i < 100; i++) {
  for (int j = 0; j < 100; j++) {
    stroke(i, j, 0);
    point(i, j);
  }
}

№2


noStroke();
colorMode(HSB, 100);
for (int i = 0; i < 100; i++) {
  for (int j = 0; j < 100; j++) {
    stroke(i, j, 100);
    point(i, j);
  }
}

№3


//  если задать цвет здесь, то colorMode() в блоке setup()
//  на него не повлияет;
//  но мы поступим по-другому: объявим здесь переменную «bg»,
//  а потом присвоим ей значение после метода colorMode()
//  в блоке setup():
//color bg = color(180, 50, 50);  // Нет
color bg;                         // Да, но значение присвоим в блоке setup()

void setup() {
  size(100, 100);
  colorMode(HSB, 360, 100, 100);
  bg = color(180, 50, 50);
}

void draw() {
  background(bg);	
}

См.также

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