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

Материал из Онлайн справочника
Версия от 18:47, 19 сентября 2023; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

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


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);	
}

См.также

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