FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Add SVG export examples for various scenarios by hxrshxz · Pull Request #1291 · processing/processing4 · GitHub

Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension .java  (1) .pde  (6) All 2 file types selected
Viewed files
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Unified
Split
Hide whitespace
Diff view
Unified
Split
Hide whitespace
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@


import processing.dxf.*;
boolean record = false;
boolean isRecording = false;

void setup() {
size(400, 400, P3D);
Expand All @@ -16,7 +16,7 @@ void setup() {
}

void draw() {
if (record == true) {
if (isRecording == true) {
beginRaw(DXF, "output.dxf"); // Start recording to the file
}
lights();
Expand All @@ -34,15 +34,15 @@ void draw() {
}
}
}
if (record == true) {
if (isRecording == true) {
endRaw();
record = false; // Stop recording to the file
isRecording = false; // Stop recording to the file
}
}

void keyPressed() {
if (key == 'R' || key == 'r') { // Press R to save the file
record = true;
isRecording = true;
}
}

22 changes: 11 additions & 11 deletions java/libraries/dxf/src/processing/dxf/RawDXF.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -42,35 +42,35 @@
* <PRE>
* import processing.dxf.*;
*
* boolean record;
* boolean isRecording;
*
* void setup() {
* size(500, 500, P3D);
* }
*
* void keyPressed() {
* // use a key press so that it doesn't make a million files
* if (key == 'r') record = true;
* if (key == 'r') isRecording = true;
* }
*
* void draw() {
* if (record) {
* if (isRecording) {
* beginRaw(DXF, "output.dxf");
* }
*
* // do all your drawing here
*
* if (record) {
* if (isRecording) {
* endRaw();
* record = false;
* isRecording = false;
* }
* }
* </PRE>
* or to use it and be able to control the current layer:
* <PRE>
* import processing.dxf.*;
*
* boolean record;
* boolean isRecording;
* RawDXF dxf;
*
* void setup() {
Expand All @@ -79,25 +79,25 @@
*
* void keyPressed() {
* // use a key press so that it doesn't make a million files
* if (key == 'r') record = true;
* if (key == 'r') isRecording = true;
* }
*
* void draw() {
* if (record) {
* if (isRecording) {
* dxf = (RawDXF) createGraphics(width, height, DXF, "output.dxf");
* beginRaw(dxf);
* }
*
* // do all your drawing here, and to set the layer, call:
* // if (record) {
* // if (isRecording) {
* // dxf.setLayer(num);
* // }
* // where 'num' is an integer.
* // the default is zero, or you can set it to whatever.
*
* if (record) {
* if (isRecording) {
* endRaw();
* record = false;
* isRecording = false;
* dxf = null;
* }
* }
Expand Down
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/**
* SVG Export (No Screen Display)
*
* This example draws a single frame to a SVG file and quits.
* (Note that no display window will open; this helps when you're
* trying to create massive SVG images that are far larger than
* the screen size.)
*/

import processing.svg.*;

void setup() {
size(400, 400, SVG, "filename.svg");
}

void draw() {
// Draw something good here
line(0, 0, width/2, height);

// Exit the program
println("Finished.");
exit();
}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
* Single Frame from an Animation (With Screen Display)
*
* It's also possible to save one frame from a program with

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

"It's also possible to..." made sense in the context of the tutorial but it is confusing in an example that needs to stand on its own.

* moving elements. Create a boolean variable to turn the SVG
* recording process on and off.
*/

import processing.svg.*;

boolean isRecording;

void setup() {
size(400, 400);
}

void draw() {
if (isRecording) {
// Note that #### will be replaced with the frame number. Fancy!
beginRecord(SVG, "frame-####.svg");
}

// Draw something good here
background(255);
line(mouseX, mouseY, width/2, height/2);

if (isRecording) {
endRecord();
isRecording = false;
}
}

// Use a mouse press so thousands of files aren't created
void mousePressed() {
isRecording = true;
}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* SVG Files from 3D Geometry (With Screen Display)
*
* To create vectors from 3D data, use the beginRaw() and
* endRaw() commands. These commands will grab the shape data
* just before it is rendered to the screen. At this stage,
* your entire scene is nothing but a long list of lines and
* triangles. This means that a shape created with sphere()
* method will be made up of hundreds of triangles, rather
* than a single object.
*
* When using beginRaw() and endRaw(), it's possible to write
* to either a 2D or 3D renderer. For instance, beginRaw()
* with the SVG library will write the geometry as flattened
* triangles and lines.
*/

import processing.svg.*;

boolean isRecording;

void setup() {
size(500, 500, P3D);
}

void draw() {
if (isRecording) {
beginRaw(SVG, "output.svg");
}

// Do all your drawing here
background(204);
translate(width/2, height/2, -200);
rotateZ(0.2);
rotateY(mouseX/500.0);
box(200);

if (isRecording) {
endRaw();
isRecording = false;
}
}

// Hit 'r' to record a single frame
void keyPressed() {
if (key == 'r') {
isRecording = true;
}
}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/**
* Using createGraphics() to Create an SVG File

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

It would be helpful to mention that this code won't display anything in the sketch window.

*
* To write a SVG file using only the createGraphics() command,
* rather than as part of a sketch, it's necessary to call
* dispose() on the PGraphicsSVG object. This is the same as
* calling exit(), but it won't quit the sketch.
*/

import processing.svg.*;

PGraphics svg = createGraphics(300, 300, SVG, "output.svg");
svg.beginDraw();
svg.background(128, 0, 0);
svg.line(50, 50, 250, 250);
svg.dispose();
svg.endDraw();
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/**
* SVG Export (With Screen Display)
*
* To draw to the screen while also saving an SVG, use the
* beginRecord() and endRecord() functions. Unlike the PDF
* renderer, the SVG renderer will only save the final frame
* of a sequence. This is slower, but is useful when you need
* to see what you're working on as it saves.
*/

import processing.svg.*;

void setup() {
size(400, 400);
noLoop();
beginRecord(SVG, "filename.svg");
}

void draw() {
// Draw something good here
line(0, 0, width/2, height);

endRecord();
}

Back | FazBrowse Home | New Git URL