p5 is a simple package that provides primitives resembling the ones exposed by the p5/processing library.
p5 is released under the BSD-3 license.
Documentation for p5 is served by GoDev.
Guidelines for contributing to go-p5 the same than for the Go project.
This project relies on Gio for the graphics parts.
As Gio uses system libraries to display graphics, you need to install those for your system/OS for p5 to work properly.
See Gio/install for details.
package main
import (
"image/color"
"math"
"github.com/go-p5/p5"
)
func main() {
p5.Run(setup, draw)
}
func setup() {
p5.Canvas(400, 400)
p5.Background(color.Gray{Y: 220})
}
func draw() {
p5.StrokeWidth(2)
p5.Fill(color.RGBA{R: 255, A: 208})
p5.Ellipse(50, 50, 80, 80)
p5.Fill(color.RGBA{B: 255, A: 208})
p5.Quad(50, 50, 80, 50, 80, 120, 60, 120)
p5.Fill(color.RGBA{G: 255, A: 208})
p5.Rect(200, 200, 50, 100)
p5.Fill(color.RGBA{G: 255, A: 208})
p5.Triangle(100, 100, 120, 120, 80, 120)
p5.TextSize(24)
p5.Text("Hello, World!", 10, 300)
p5.Stroke(color.Black)
p5.StrokeWidth(5)
p5.Arc(300, 100, 80, 20, 0, 1.5*math.Pi)
}