Processing:Примеры/Пуантилизм: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 54: Строка 54:
}}
}}


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
PImage img;
PImage img;
int smallPoint, largePoint;
int smallPoint, largePoint;

Версия от 18:23, 14 мая 2023


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


Описание[1]

Код в этом скетче-примере рисует на экране точки в случайных местах, а цвет этих точек соответствует цвету пикселей, которые расположены в том же месте исходного изображения, загруженного при помощи метода loadImage(). Перемещение курсора мыши влево-вправо меняет размер точек.

Пример

PImage img;
int smallPoint, largePoint;

void setup() {
  size(640, 360);
  img = loadImage("moonwalk.jpg");
  smallPoint = 4;
  largePoint = 40;
  imageMode(CENTER);
  noStroke();
  background(255);
}

void draw() { 
  float pointillize = map(mouseX, 0, width, smallPoint, largePoint);
  int x = int(random(img.width));
  int y = int(random(img.height));
  color pix = img.get(x, y);
  fill(pix, 128);
  ellipse(x, y, pointillize, pointillize);
}

{{#set: Код примера= PImage img; int smallPoint, largePoint;

void setup() {

 size(640, 360);
 img = loadImage("moonwalk.jpg");
 smallPoint = 4;
 largePoint = 40;
 imageMode(CENTER);
 noStroke();
 background(255);

}

void draw() {

 float pointillize = map(mouseX, 0, width, smallPoint, largePoint);
 int x = int(random(img.width));
 int y = int(random(img.height));
 color pix = img.get(x, y);
 fill(pix, 128);
 ellipse(x, y, pointillize, pointillize);

} }}

См.также

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