Главная » Processing » Сохранение файлов PDF в Processing

0

Если вы хотите распечатать вашу работу или сохранить ваш скетч как изображение, размер распечатанного изображения будет зависеть от разрешения изображения. Если же вы хотите сделать действительно большой постер, то хорошей идеей будет сохранить ваш скетч в формате PDF. Любая фигура, которую вы рисуете в Processing, является, по сути, векторной, и может быть распечатана в любом размере. Однако если вы работаете в Processing с пикселями, вы не сможете сохранить вашу работу в формате PDF.

Как это делается

Первое, что нужно сделать – импортировать в ваш скетч библиотеку PDF. Это можно сделать в Sketch | Import Library | pdf. Также нам нужно объявить логическую переменную по именем savePDF.

import processing.pdf.*; boolean savePDF = false;

void setup()

{

size( 640, 480 );

smooth();

rectMode( CENTER ); stroke(0);

}

В функции draw() мы используем переменную savePDF чтобы сообщить Processing, когда начать запись файла PDF. Все, что вы напишете между функциями beginRecord() и endRecord() будет включено в файл PDF. Функция keyPressed() используется для изменения значения переменной savePDF.

void draw()

{

if ( savePDF ) {

beginRecord( PDF, "pdf/myartwork-####.pdf" );

}

background( 0 );

for ( int i = 0; i < 1000; i++ ) {

fill( 0, random( 255 ), random( 255 ), 64 ); pushMatrix();

translate( random( width ), random( height ) ); rotate( radians( random( 360 ) ) );

rect( 0, 0, 50, 50 );

popMatrix();

}

if ( savePDF ) { endRecord(); savePDF = false;

}

}

void keyPressed()

{

if ( key == ‘s’ ) { savePDF = true;

}

}

Запустив скетч, вы можете сохранить вашу работу нажатием клавиши S. Ваш файл PDF вы найдете в папке pdf в папке с вашим скетчем.

Как это работает

Функция beginRecord() сообщает Processing, когда следует начать запись данных, изображенных на экране. Первый параметр этой функции это рендерер; в нашем случае это PDF. Второй параметр – это строка с именем сохраняемого файла. В этом примере я назвал файл pdf/myartwork-####.pdf. Файлы будут сохранены в папке pdf; символы

#### будут заменены на номер текущего кадра. По завершении рисования следует вызвать функцию endRecord() для того, чтобы Processing сохранил файл на жесткий диск.

Дополнительно

Существует несколько способов сохранить файл PDF из Processing. Например, вы можете сохранить файл PDF на нескольких страницах или сохранить вашу трехмерную сцену в виде двухмерного файла PDF. В этой книге я рассмотрел самый простой рецепт. Узнать о других, более интересных способах, вы можете из справки Processing по адресу: http:// processing.org/reference/ libraries/pdf/index.html.

Источник: Ян Вантомм, Processing 2: креативное программирование, перевод с английского Александры Мишутиной, Published by Packt Publishing Ltd., 2012, BIRMINGHAM – MUMBAI.

По теме:

  • Комментарии