Skip to content

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") // حفظ في ملف صورة
}

رسم النقاط

![](/images/gg/points.png =400x400)

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")
}

رسم الخطوط

![](/images/gg/lines.png =400x400)

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")
}

Golang تم تحريره بواسطة www.golangdev.cn