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.
Overview:
- http://go.pkgdoc.org/github.com/ungerik/go-cairo
- http://go.pkgdoc.org/github.com/ungerik/go-cairo/extimage
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
For Arch Linux: (also gcc and pkgconf are required)
sudo pacman -S cairo
For MacOS you may get errors finding cairo-pdf.h. To fix this run:
xcode-select --install
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