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 เป็นเอ็นจิ้นเรนเดอร์กราฟิกสองมิติที่เก่าแก่ เหมาะสำหรับใช้สร้างรูปภาพ
การติดตั้ง
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) // วาดวงกลมรัศมี 400 ที่พิกัด (500,500)
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")
}