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

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


Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Cat poo.png Черновик


get() [1]

Обозначение

get()

Описание

Считывает отдельный пиксель или фрагмент изображения. Если никаких параметров не задано, get() вернет все изображение целиком. Чтобы прочитать цветовое значение отдельного пикселя, воспользуйтесь параметрами x и y. Чтобы прочитать фрагмент дисплейного окна, задайте дополнительные параметры w и h – в этом случае параметры x и y будут задавать координаты левого верхнего угла считываемого фрагмента независимо от настроек, заданных при помощи метода imageMode().

Если запрашиваемый пиксель находится за пределами дисплейного окна, get() вернет черный цвет. Метод get() возвращает только значения типа RGB, и они будут подогнаны под текущие числовые диапазоны цветовых данных. То есть, даже если вы нарисовали фигуру при помощи colorMode(HSB), значения, возвращаемые get(), все равно будут иметь формат RGB.

Считывание цвета одного пикселя с помощью get(x, y) – это, возможно, и просто, но не так быстро, как считывание цветовых данных напрямую из массива pixels[]. Эквивалентом get(x, y) является конструкция pixels[y*width+x]. Более подробно читайте в статье о массиве pixels[].

Синтаксис

get(x, y)
get(x, y, w, h)
get()

Параметры

x  координата X считываемого пикселя. Тип данных  int
y  координата Y считываемого пикселя. Тип данных  int
w  ширина считываемого фрагмента. Тип данных  int
h  высота считываемого фрагмента. Тип данных  int

Возвращаемое значение

Тип данных  объект PImage или void.

Пример

№1

Processing get 0.png


PImage myImage = loadImage("apples.jpg");
image(myImage, 0, 0);
PImage c = get();
image(c, width/2, 0);

№2

Processing get 1.png


PImage myImage = loadImage("apples.jpg");
image(myImage, 0, 0);
color c = get(25, 25);
fill(c);
noStroke();
rect(25, 25, 50, 50);

См.также

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