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

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

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


PShape [1]

Обозначение

PShape

Описание

Тип данных для хранения фигур. Перед использованием фигуры ее нужно загрузить при помощи метода loadShape() или создать с помощью метода createShape(). Чтобы нарисовать фигуру на мониторе, используется метод shape(). Язык Processing в данный момент может загружать и показывать фигуры из файлов типа SVG (Scalable Vector Graphics) и OBJ. Файлы OBJ можно открыть только с помощью 3D-визуализатора P3D. Метод loadShape() совместим с SVG-файлами, созданными при помощи Inkscape и Adobe Illustrator. Это не полная поддержка SVG, но в наличии есть ряд удобных средств для управления векторными данными.

Для объекта PShape есть несколько методов, позволяющих управлять данными фигуры. Некоторые из них перечислены ниже, но полный список методов для создания и модифицирования фигур можно найти тут. Чтобы создать новую фигуру, используйте createShape(), но не синтаксис new PShape().

Поля

  • width – ширина фигуры PShape
  • height – высота фигуры PShape

Методы

  • isVisible() – возвращает булево значение true, если изображение видимо, и false, если нет
  • setVisible() – задает то, будет ли фигура видимой или невидимой
  • disableStyle() – отключает «стилевые» данные фигуры и использует стили Processing
  • enableStyle() – включает «стилевые» данные фигуры и игнорирует стили Processing
  • beginContour() – начинает новый контур
  • endContour() – завершает контур
  • beginShape() – начинает создание нового объекта PShape
  • endShape() – завершает создание нового объекта PShape
  • getChildCount() – возвращает количество дочерних элементов
  • getChild() – возвращает дочерний элемент фигуры в виде объекта PShape
  • addChild() – добавляет новый дочерний элемент
  • getVertexCount() – возвращает общее число вершин в виде значения int
  • getVertex() – возвращает координаты вершины, находящейся на заданной позиции
  • setVertex() – задает координаты вершины, находящейся на заданной позиции
  • setFill() – задает цвет заполнения фигуры
  • setStroke() – задает цвет контура фигуры
  • translate() – перемещает фигуру
  • rotateX() – вращает фигуру по оси X
  • rotateY() – вращает фигуру по оси Y
  • rotateZ() – вращает фигуру по оси Z
  • rotate() – вращает фигуру
  • scale() – увеличивает и уменьшает размер фигуры
  • resetMatrix() – заменяет текущую матрицу фигуры на единичную матрицу

Конструктор

PShape(g, kind, params)

Пример

№1

PShape s;

void setup() {
  size(100, 100);
  // файл "bot.svg" должен находиться в папке данных текущего скетча,
  // чтобы все загрузилось как следует:
  s = loadShape("bot.svg");
}

void draw() {
  shape(s, 10, 10, 80, 80);
}

№2

PShape square;  // объект PShape

void setup() {  
  size(100, 100);
  // создание объекта PShape в виде квадрата; 
  // угол – это «0,0», поэтому центр – это «40,40»:
  square = createShape(RECT, 0, 0, 80, 80);
}

void draw() {
  shape(square, 10, 10);
}

См.также

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