Processing中库和导出PDF内容

一.库

1.使用库的方式

       从菜单栏(Sketch Menu)选择导入库(import labrary),选择一个我们要添加或者成需要用到的库。

       例如:当我们需要添加PDF扩展库时,需要将下面这段代码添加到草图中。

       import processing.pdf.*;

       除了processing里的库(这些被称为核心库),还有超过100非官方的库在processing网站上。

       在通过菜单栏导入非官方的库时,我们需要从各自的网站下载文件并且存放到本地库文件夹中。我们本地的库(libraries)文件来位于草稿本(Sketchbook)里。我们可以通过打开Processing的偏好设置(Preferences)找到本地草稿本(Sketchbook)的路径,库管理系统(LibraryManager)同样可以进行更新和移除库。

二.导出PDF案例

       案例代码如下

import processing.pdf.*;
import java.util.Calendar;
boolean savePDF=false;
int segmentCount = 360;

int radius = 200;
void setup(){
  size(800,800);
}
void draw(){
  if(savePDF) beginRecord(PDF,timestamp()+".pdf");//保存PDF
  noStroke();
  colorMode(HSB,360,width,height);
  background(360);
  float angleStep =360/segmentCount;
 
  beginShape(TRIANGLE_FAN);
  vertex(width/2,height/2);
  for(float angle = 0;angle<=360;angle+=angleStep){
    float vx = width/2+cos(radians(angle))*radius;
    float vy = width/2+sin(radians(angle))*radius;
    vertex(vx,vy);
    fill(angle,mouseX,mouseY);
  }
  endShape();
 
  if(savePDF){
    savePDF=false;
    endRecord();
  }
}
void keyReleased(){
  if(key=='s'||key=='S')saveFrame(timestamp()+"_##.png");//保存PNG
  if(key=='p'||key=='P')savePDF=true;
  switch(key){
    case'1':
    segmentCount=360;
    break;
    case'2':
    segmentCount=45;
    break;
    case'3':
    segmentCount=24;
    break;
    case'4':
    segmentCount=12;
    break;
    case'5':
    segmentCount=6;
    break;
  }
}
String timestamp(){
  Calendar now=Calendar.getInstance();
  return String.format("%1$ty%1$tm%1$td_%1$tH%1$tM%1$tS",now);
}

       保存并运行如图1

                                   图1

       注意:案例中按下大写P或者小写p保存PNG,如果按下大写S或者小写s可以保存PDF。圆盘颜色、明亮度、透明度跟随鼠标的变化而变化。另外按下数字1~5圆盘角度会有不同的惊喜,大家可以复制粘贴运行玩玩。

  • 18
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦之妹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值