处理PDF导出:如何仅导出可见的,未覆盖的图形元素?

时间:2017-10-23 20:06:29

标签: pdf vector processing

我在Processing中创建了3D图形,矩形形状(白色填充和黑色笔划)放置在不同的z深度,相互重叠。

当我使用 beginRaw() endRaw()将草图画布导出为PDF时,我只想要图形的“扁平”2D版本,这意味着由其他矩形填充覆盖的矩形边不应包含在PDF中。如果您使用Illustrator或Inkscape,这相当于从另一个中减去一个形状。

但是,导出的PDF包含 all 矩形边。

我有没有办法导出到PDF,其中隐藏在其他形状的白色填充后面的所有行都从PDF中排除? (我不需要将填充导出为矩形,因为图形是用于笔式绘图仪)

您可以尝试使用此简化代码示例来查看会发生什么。我希望PDF看起来像我在Processing中的画布窗口中看到的那样。

import processing.pdf.*;

void setup() {
  size(400, 400, P3D);
  background(255);

  stroke(0);
  fill(255);

  noLoop();
}

void draw() {
  beginRaw(PDF, "output.pdf");  
  camera(width/2, height/2, 200, width/2, height/2, 0, 0, 1, 0);  
  translate(0, 0, -10);

  beginShape();
  vertex(100, 100);
  vertex(200, 100);
  vertex(200, 200);
  vertex(100, 200);
  endShape(CLOSE);

  translate(0, 0, 10);

  beginShape();
  vertex(150, 150);
  vertex(250, 150);
  vertex(250, 250);
  vertex(150, 250);
  endShape(CLOSE);

  endRaw();
}

0 个答案:

没有答案