業務システムを開発する際にはコンテンツをHTMLで出したり、帳票やグラフを使うなど様々なフォーマットを扱います。その度にライブラリを変えても良いですが、より多くのフォーマットに対応したライブラリを使えば学習コストは下がるでしょう。 今回紹介するCanvasはGoを使っている時にお勧めしたいライブラリです。SVGやPDF、EPS、HTML Canvasなど多彩なフォーマットに対応したグラフィックスライブラリです。

Canvasの使い方

HTMLのCanvasタグに出力する例です。WebAssemblyを使っています。

地図風の表示です。

グラフの例です。

Canvasはコードでドロー内容を指定し、最後にフォーマットを指定します。SVGやPDF、EPS、Canvasなど多様なフォーマットで出力できるので、Canvasの使い方を覚えてしまえば使いどころが多数あるでしょう。

CanvasはGo製のオープンソース・ソフトウェア(MIT License)です。

tdewolff/canvas: Cairo in Go: vector to SVG, PDF, EPS, raster, HTML Canvas, etc.