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

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

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


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

См.также

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