gg
公式リポジトリ:fogleman/gg: Go Graphics - 2D rendering in Go with a simple API. (github.com)
公式ドキュメント:gg package - github.com/fogleman/gg - Go Packages
公式サンプル:gg/examples at master · fogleman/gg (github.com)
gg は実績のある 2D グラフィックスレンダリングエンジンで、画像生成に適しています。
インストール
go get -u github.com/fogleman/ggクイックスタート
go
package main
import "github.com/fogleman/gg"
func main() {
dc := gg.NewContext(1000, 1000) // キャンバスを作成、高さ 1000、幅 1000
dc.DrawCircle(500, 500, 400) // 座標 (500,500) に半径 400 の円を描画
dc.SetRGB(0, 0, 0) // 色を黒に設定
dc.Fill() // 塗りつぶし
dc.SavePNG("out.png") // 画像ファイルに保存
}点

go
func TestDot(t *testing.T) {
dc := gg.NewContext(1000, 1000)
dc.SetRGB(0, 0, 0)
for i := 1; i < 10; i++ {
dc.DrawPoint(float64(50*i), float64(50*i), 5) // 点の座標と半径を設定
}
dc.Fill() // 塗りつぶし
dc.SavePNG("out.png")
}線

go
func TestLines(t *testing.T) {
dc := gg.NewContext(1000, 1000)
dc.SetRGB(0, 0, 0)
dc.SetLineWidth(5) // 線の幅を設定
dc.DrawLine(1000, 0, 0, 1000)
dc.DrawLine(1000, 1000, 0, 0)
dc.Stroke() // 線を描画
dc.SavePNG("lines.png")
}