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

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


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


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


beginRaw() [1]

Обозначение

beginRaw()

Описание

Методы beginRaw() и endRaw() берут 3D-данные и создают из них векторы. Они считывают данные о фигурах за миг до того, как они будут отрендерены на экране. В этот момент вся ваша сцена – это ничего более, как длинный список разрозненных линий и треугольников. Это значит, что фигура, сделанная с помощью метода sphere(), будет состоять из сотен треугольников, а не из одного единственного объекта, а та многосоставная линия (вроде кривой) на самом деле состоит из нескольких отдельных сегментов.

При использовании beginRaw() и endRaw() можно рисовать фигуры и в двухмерном, и в трехмерном визуализаторах. К примеру, если использовать в beginRaw() библиотеку PDF, то треугольники и линии будут плоскими – даже если они были записаны в визуализаторе P3D.

Если вы хотите, чтобы в ваших файлах был фон, создайте прямоугольник при помощи rect(0, 0, width, height) – этот прямоугольник как раз и послужит вам фоном. Но перед этим задайте ему нужный цвет при помощи метода fill(). В противном случае фон просто не прорендерится в файл, потому что фон не является фигурой.

При помощи метода hint(ENABLE_DEPTH_SORT) можно улучшить отображение 3D-фигур, нарисованных для двухмерных файловых форматов.

Более подробно смотрите в статьях о библиотеках PDF и DXF.

Синтаксис

beginRaw(renderer, filename)

Параметры

renderer  библиотека для визуализации объектов (к примеру, PDF или DXF). Тип данных  String
filename  имя файла, который будет создан. Тип данных  String

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

Объект PGraphics или void

Пример

import processing.pdf.*;

void setup() {
  size(400, 400);
  beginRaw(PDF, "raw.pdf");
}

void draw() {
  line(pmouseX, pmouseY, mouseX, mouseY);
}

void keyPressed() {
  if (key == ' ') {
    endRaw();
    exit();
  }
}

См.также

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