Processing:Справочник языка Processing/colorMode()
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
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);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |