1.案例代码如下:
import generativedesign.*;
 import processing.pdf.*;
 import java.util.Calendar;
 Tablet tablet;
 boolean recordPDF = false;
 float x = 0, y = 0;
 float stepSize = 5.0;
 PFont font;
 String letters = "Sie hören nicht die folgenden Gesänge, Die Seelen, denen ich die ersten sang,Zerstoben ist das freundliche Gedränge, Verklungen ach! der erste Wiederklang.";
 int fontSizeMin = 15;
 float angleDistortion = 0.0;
 int counter = 0;
 void setup() {
 size(displayWidth, displayHeight);
 background(255);
 smooth();
 tablet = new Tablet(this);
 x = mouseX;
 y = mouseY;
 font = createFont("ArnhemFineTT-Normal",10);
 textFont(font,fontSizeMin);
 cursor(CROSS);
 }
 void draw() {
 if (mousePressed) {
 float pressure = gamma(tablet.getPressure()*1.1, 2.5);
 float d = dist(x,y, mouseX,mouseY);
 textFont(font,fontSizeMin+ 200 * pressure);
 char newLetter = letters.charAt(counter);
 stepSize = textWidth(newLetter);
 if (d > stepSize) {
 float angle = atan2(mouseY-y, mouseX-x);
 pushMatrix();
 translate(x, y);
 rotate(angle + random(angleDistortion));
 fill(0);
 textAlign(LEFT);
 text(newLetter, 0, 0);
 popMatrix();
 counter++;
 if (counter > letters.length()-1) counter = 0;
 x = x + cos(angle) * stepSize;
 y = y + sin(angle) * stepSize;
 }
 }
 }
 void mousePressed() {
 x = mouseX;
 y = mouseY;
 }
 void keyReleased() {
 if (key == 's' || key == 'S') saveFrame(timestamp()+"_##.png");
 if (key == DELETE || key == BACKSPACE) background(255);
 if (key =='r' || key =='R') {
 if (recordPDF == false) {
 beginRecord(PDF, timestamp()+".pdf");
 println("recording started");
 recordPDF = true;
 }
 }
 else if (key == 'e' || key =='E') {
 if (recordPDF) {
 println("recording stopped");
 endRecord();
 recordPDF = false;
 background(255);
 }
 }
 }
 void keyPressed() {
 if (keyCode == UP) angleDistortion += 0.1;
 if (keyCode == DOWN) angleDistortion -= 0.1;
 }
 float gamma(float theValue, float theGamma) {
 return pow(theValue, theGamma);
 }
String timestamp() {
 Calendar now = Calendar.getInstance();
 return String.format("%1$ty%1$tm%1$td_%1$tH%1$tM%1$tS", now);
 }
保存并运行发现是空白的,此时只需要用鼠标绘画出自己想要的内容即可。我写的是乒乓球世界第一孙颖莎的大写字母。如图1

图1
绘画完成后想保持PNG可以按S或者小写s,想保存PDF按大写E或者小写e。如果觉得画的不好看,按下Backspace可以清屏。如果发现报错没关系,可以运行成功并进行绘画。