This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.



PShape s;

void setup() {
  size(100, 100);
  // The file "bot.svg" must be in the data folder
  // of the current sketch to load successfully
  s = loadShape("bot.svg");

void draw() {
  shape(s, 10, 10, 80, 80);

PShape square;  // The PShape object

void setup() {  
  size(100, 100);
  // Creating the PShape as a square. The corner 
  // is 0,0 so that the center is at 40,40 
  square = createShape(RECT, 0, 0, 80, 80);

void draw() {
  shape(square, 10, 10);
Description Datatype for storing shapes. Before a shape is used, it must be loaded with the loadShape() or created with the createShape(). The shape() function is used to draw the shape to the display window. Processing can currently load and display SVG (Scalable Vector Graphics) and OBJ shapes. OBJ files can only be opened using the P3D renderer. The loadShape() function supports SVG files created with Inkscape and Adobe Illustrator. It is not a full SVG implementation, but offers some straightforward support for handling vector data.

The PShape object contains a group of methods that can operate on the shape data. Some of the methods are listed below, but the full list used for creating and modifying shapes is available here in the Processing Javadoc.

To create a new shape, use the createShape() function. Do not use the syntax new PShape().
width Shape document width
height Shape document height
isVisible() Returns a boolean value "true" if the image is set to be visible, "false" if not
setVisible() Sets the shape to be visible or invisible
disableStyle() Disables the shape's style data and uses Processing styles
enableStyle() Enables the shape's style data and ignores the Processing styles
beginContour() Starts a new contour
endContour() Ends a contour
beginShape() Starts the creation of a new PShape
endShape() Finishes the creation of a new PShape
getChildCount() Returns the number of children
getChild() Returns a child element of a shape as a PShape object
addChild() Adds a new child
getVertexCount() Returns the total number of vertices as an int
getVertex() Returns the vertex at the index position
setVertex() Sets the vertex at the index position
setFill() Set the fill value
setStroke() Set the stroke value
translate() Displaces the shape
rotateX() Rotates the shape around the x-axis
rotateY() Rotates the shape around the y-axis
rotateZ() Rotates the shape around the z-axis
rotate() Rotates the shape
scale() Increases and decreases the size of a shape
resetMatrix() Replaces the current matrix of a shape with the identity matrix
PShape(g, kind, params)
Updated on January 1, 2021 03:38:09am EST