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

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

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


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. Чтобы избежать этого , укажите значения диапазонов при изменении цветового режима. Например, вместо colorMode(RGB) введите colorMode(RGB, 255, 255, 255).

Синтаксис

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

Параметры

mode - тип int  : либо RGB, либо HSB, соответствующие красный/зеленый/синий и оттенок/насыщенность/яркость
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. // Вместо этого просто объявите переменную здесь и присвойте значение после colorMode() в setup().
  3.  
  4. //color bg = color(180, 50, 50);  // Нет
  5. color bg;                         // Да, но присвойте значение в setup().
  6.  
  7. void setup() {
  8.   size(100, 100);
  9.   colorMode(HSB, 360, 100, 100);
  10.   bg = color(180, 50, 50);
  11. }
  12.  
  13. void draw() {
  14.   background(bg);      
  15. }

См.также

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

  1. processing.org - colorMode()