| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
| 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(); | ||
| } |
| 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 | ||
| * 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; | ||
| } | ||
| 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; | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| /** | ||
| * Using createGraphics() to Create an SVG File | ||
|
Comment thread
Copy link
Copy Markdown
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityIt would be helpful to mention that this code won't display anything in the sketch window.
Sorry, something went wrong.
All reactions
|
||
| * | ||
| * 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(); | ||
| 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 |
There was a problem hiding this comment.
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.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.