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)
}