Go binding for the cairo graphics library
Switch branches/tags
Nothing to show
Clone or download
Latest commit ed3ace6 Sep 10, 2018



Go binding for the cairo graphics library

Based on Dethe Elza's version https://bitbucket.org/dethe/gocairo but significantly extended and updated.

Go specific extensions:

  • NewSurfaceFromImage(image.Image)
  • Surface.GetData() []byte
  • Surface.SetData([]byte)
  • Surface.GetImage() image.Image
  • Surface.SetImage(image.Image)

go-cairo also sports a sub package extimage with image.Image/draw.Image implementations for 32 bit ARGB and 24 bit RGB color models.


Missing features

  • TextCluster
  • FontExtents
  • FontFace
  • FontOptions
  • ScaledFont
  • Glyph


Install cairo:

For Debian and Debian derivatives including Ubuntu:

sudo apt-get install libcairo2-dev

For Fedora:

sudo yum install cairo-devel

For openSUSE:

zypper install cairo-devel

Install go-cairo and run go-cairo-example:

go get github.com/ungerik/go-cairo
go install github.com/ungerik/go-cairo/go-cairo-example && go-cairo-example

Copyrights: See LICENSE file

Bitdeli Badge