Processing:Примеры/Массив пикселей: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{Processing панель перехода}} | {{Processing панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Описание<ref>[https://processing.org/examples/pixelarray.html processing.org - Pixel Array]</ref>= | =Описание<ref>[https://processing.org/examples/pixelarray.html processing.org - Pixel Array]</ref>= | ||
Строка 119: | Строка 116: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | {{Навигационная таблица/Портал/Processing}} |
Текущая версия от 07:56, 27 августа 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Описание[1]
Наведите курсор на экран, зажмите кнопку мыши и начните водить ей по экрану. Сообразно перемещению курсора должен меняться и цвет экрана. Кроме того, можно нажать на какую-нибудь клавишу, и тогда на экране появится изображение и метка, показывающая, какой именно пиксель этого изображения в данный момент считывается.
Если ничего не делать, эта программа будет поочередно считывать цвет каждого пикселя изображения, а затем окрашивать экран в этот цвет.
Пример
PImage img;
int direction = 1;
float signal;
void setup() {
size(640, 360);
noFill();
stroke(255);
frameRate(30);
img = loadImage("sea.jpg");
}
void draw() {
if (signal > img.width*img.height-1 || signal < 0) {
direction = direction * -1;
}
if (mousePressed) {
int mx = constrain(mouseX, 0, img.width-1);
int my = constrain(mouseY, 0, img.height-1);
signal = my*img.width + mx;
} else {
signal += 0.33*direction;
}
int sx = int(signal) % img.width;
int sy = int(signal) / img.width;
if (keyPressed) {
set(0, 0, img); // fast way to draw an image
point(sx, sy);
rect(sx - 5, sy - 5, 10, 10);
} else {
color c = img.get(sx, sy);
background(c);
}
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |