Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2680 статей для сайта.

Контакты:

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


Ambox content.png Черновик


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

Processing example colorMode 1.png


  1. noStroke();
  2. colorMode(RGB, 100);
  3. for (int i = 0; i < 100; i++) {
  4.   for (int j = 0; j < 100; j++) {
  5.     stroke(i, j, 0);
  6.     point(i, j);
  7.   }
  8. }

№2

Processing example colorMode 2.png


  1. noStroke();
  2. colorMode(HSB, 100);
  3. for (int i = 0; i < 100; i++) {
  4.   for (int j = 0; j < 100; j++) {
  5.     stroke(i, j, 100);
  6.     point(i, j);
  7.   }
  8. }

№3

Processing example colorMode 3.png


  1. //  если задать цвет здесь, то colorMode() в блоке setup()
  2. //  на него не повлияет;
  3. //  но мы поступим по-другому: объявим здесь переменную «bg»,
  4. //  а потом присвоим ей значение после метода colorMode()
  5. //  в блоке setup():
  6. //color bg = color(180, 50, 50);  // Нет
  7. color bg;                         // Да, но значение присвоим в блоке setup()
  8.  
  9. void setup() {
  10.   size(100, 100);
  11.   colorMode(HSB, 360, 100, 100);
  12.   bg = color(180, 50, 50);
  13. }
  14.  
  15. void draw() {
  16.   background(bg);      
  17. }

См.также

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

  1. processing.org - colorMode()