Освой Processing играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Цвет

Для работы со цветом Processing поддерживает системы RGB и HSB.

Объявим переменную color перед функцией setup(). Переменной присвоим случайное значение. Далее нарисуем два прямоугольника в разных режимах.


color mColor;

void setup()
{
  size(500, 300);
  mColor = color( random( 255 ), 
    random( 255 ), 
    random( 255 ) );
} 

void draw()
{
  // RGB
  colorMode( RGB, 255 );
  background( 255 );
  // random color
  fill( mColor );
  stroke( 0 );
  rect( 10, 10, 480, 100 );
  // HSB
  colorMode( HSB, 260, 100, 100, 100 );
  float h = 200;
  float s = 45;
  noStroke();
  
  for ( int i = 0; i < 80; i++ ) {
    fill(h, s, i);
    rect(10 + i * 6, 120, 6, 170 );
  } 
  
  noFill();
  stroke(0);
  rect( 10, 120, 480, 170 );
}

Функции color(), stroke() и fill() очень похожи. Если входной параметр - один, то цветом будет оттенок серого. Цветовой режим по умолчанию - это RGB, который использует величины от 0 до 255. Например, color(0) установит чёрный, а color(255) - белый цвет. Промежуточные значению дают серый цвет. Если использовать эти функции с двумя параметрами, то вторым будет прозрачность цвета.

Если вы введёте три параметра, то это будет красный, зелёный и синий компоненты цвета. Добавление четвёртого параметра позволит получить прозрачный цвет.

Функция color() используется для создания переменной типа color. Это удобно, если вы хотите создать цвет, чтобы впоследствии использовать везде в скетче.

Функция fill() используется для установки цвета заливки фигур. У неё может быть от одного до четырёх параметров.

Функция noFill() используется для отключения заливки перед рисованием фигуры.

Функция stroke() устанавливает цвет контура фигуры.

Функция noStroke() используется для отключения контура перед рисованием фигуры.

Функция background() устанавливает цвет фона. Обычно её применяют в функции draw(), она очищает экран.

Первый параметр функции colorMode() устанавливает режим цвета. Это может быть RGB или HSB. Цветовой режим, установленный по умолчанию - RGB, со значениями от 0 до 255. Функция colorMode( RGB, 1.0 ) для указания цветовых компонентов использует значения от 0 до 1. Если вы хотите переключить на режим HSB, запишите colorMode( HSB, 360, 100, 100 ).

Выбор цвета

В Processing есть специальный инструмент для выбора цвета. Он доступен через меню Tools | Color Selector....

Color Selector

На главную страницу Processing

Реклама