1. Məhsullar
  2.   Şəkil
  3.   GO
  4.   SVGo
 
  

SVG Yaradılması və Manipulyasiyası üçün Açıq Mənbəli Go Kitabxanası

SVG çertyojlarının yaradılmasını dəstəkləyən çox stabil Go API. Siz formalar, xətlər, mətn, şəkillər, yollar əlavə edə və rəng, gradient, animasiya və s. tətbiq edə bilərsiniz.  

SVGo açıq mənbəli Go dil kitabxanasıdır və proqram tərtibatçılarına Scalable Vector Graphics 1.1 Spesifikasiyasından istifadə edərək öz proqramlarında SVG yaratmağa imkan verir. Kitabxana dairələr, ellipslər, çoxbucaqlılar, düzbucaqlılar və s. kimi SVG formaları üçün dəstək verir. O, həmçinin tərcümə, döndərmə, miqyas, əyilmə və s. kimi SVG transformasiya funksiyalarını dəstəkləyir.

SVGo kitabxanası Go dilinin mövcud olduğu hər yerdə işləyə bilər və Linux, Mac OS X, Windows və s. kimi məşhur əməliyyat sistemlərində tamamilə portativdir. Kitabxanaya formalar, xətlər, mətn, rəsm yolları, şəkillər və gradientlər, təsvirin dəyişdirilməsi, filtr effektləri, animasiyaların tətbiqi, metadata elementləri və s.

Kitabxana müxtəlif SVG elementlərindən tam istifadə edən sazlanmış, əl ilə hazırlanmış koda yaxın olan standart, təmiz, oxunaqlı kod istehsal etmək üçün nəzərdə tutulmuşdur. Kitabxana istifadəçinin rahatlığı üçün standart sapma ilə tutqunluq funksiyası, təsvirin boz rəngli filtri, Rəngləri fırlatmaq, təsvirin rənglərini çevirmək, sepiya tonunu tətbiq etmək və sair kimi daxili filtrlərə dəstək verib.

Previous Next

Şəkil çəkməyə başlamaq

SVGo-nu quraşdırmağın ən asan və tövsiyə olunan yolu GitHub vasitəsilədir. Asan və hamar quraşdırma üçün aşağıdakı əmrdən istifadə edin.

GitHub vasitəsilə SVGo quraşdırın

go get -u github.com/ajstarks/svgo

GO Library vasitəsilə SVG yaradın

Açıq mənbəli SVGo kitabxanası proqram tərtibatçılarına Go əmrlərindən istifadə edərək proqramlı şəkildə öz proqramlarında SVG çertyojlarını yaratmağa imkan verir. Tərtibatçılar SVG kətanının enini və hündürlüyünü, həmçinin SVG-nin təyinat yerini müəyyən etməlidirlər. Tərtibatçılar asanlıqla dairələr, ellipslər, çoxbucaqlılar və s. kimi fiqurları çəkə, eləcə də istədikləri mətni asanlıqla daxil edə bilərlər.

GO vasitəsilə SVG Şəkil yaradın

package main
import (
	"github.com/ajstarks/svgo"
	"os"
)
func main() {
	width := 500
	height := 500
	canvas := svg.New(os.Stdout)
	canvas.Start(width, height)
	canvas.Circle(width/2, height/2, 100)
	canvas.Text(width/2, height/2, "Hello, SVG", "text-anchor:middle;font-size:30px;fill:white")
	canvas.End()
}

Formaların və Yolların Çəkilməsi

SVGo kitabxanası öz proqramlarında müxtəlif növ formalar yaratmaq üçün funksionallıq təmin etmişdir. Bu dairə, ellips, çoxbucaqlı, düzbucaqlı və ya dairəvi düzbucaqlı, kvadrat, xətt seqmentləri seriyası və s. çəkməyi dəstəkləyir. Siz həmçinin asanlıqla xətləri və yolları asanlıqla çəkə bilərsiniz. Elliptik qövs, müalicə, kub bezier əyrisi, kvadrat bezier əyrisi və s.

GO vasitəsilə çevrəni onlayn çəkmək

package main
import (
	"log"
	"github.com/ajstarks/svgo"
	"net/http"
)
func main() {
	http.Handle("/circle", http.HandlerFunc(circle))
	err := http.ListenAndServe(":2003", nil)
	if err != nil {
		log.Fatal("ListenAndServe:", err)
	}
}
func circle(w http.ResponseWriter, req *http.Request) {
  w.Header().Set("Content-Type", "image/svg+xml")
  s := svg.New(w)
  s.Start(500, 500)
  s.Circle(250, 250, 125, "fill:none;stroke:black")
  s.End()
}

Şəkil və Mətn Dəstəyi

Açıq mənbəli SVGo kitabxanası Go əmrlərindən istifadə edərək SVG rəsmini yaratarkən şəkillərin və mətnin daxil edilməsi üçün tam dəstəyi təmin etmişdir. Şəkil və ya mətni yerləşdirərkən siz onu yerləşdirmək istədiyiniz yeri göstərməlisiniz, həmçinin şəklin enini və hündürlüyünü təyin edə bilərsiniz. Siz həmçinin çoxlu mətn sətirləri əlavə edə və ölçü, doldurma, hizalama və məsafəni təyin edə bilərsiniz. O, həmçinin üslublu mətnin yol ilə birlikdə yerləşdirilməsini dəstəkləyir. Siz həmçinin RGB sxemindən istifadə edərək istədiyiniz rəngi təyin edə bilərsiniz.

GO Proqramları daxilində SVG-yə Şəkil və Mətn əlavə edin

import (
	"os"
	svg "github.com/ajstarks/svgo"
)
func main() {
	width := 500
	height := 500
	canvas := svg.New(os.Stdout)
	canvas.Start(width, height)
	canvas.Circle(width/2, height/2, 100)
	canvas.Gstyle("text-anchor:middle;font-family:sans;fill:white")
	canvas.Textspan(width/2, height/2, "Hello ", "font-size:30px")
	canvas.Span("SVG", "font-family:serif;font-size:50px;fill:yellow")
	canvas.TextEnd()
	canvas.Gend()
	canvas.End()
}

SVG-yə Animasiya Tətbiqi

SVG animasiya elementləri Ümumdünya Şəbəkə Konsorsiumu (W3C) Sinxronlaşdırılmış Multimedia İşçi Qrupu ilə əməkdaşlıqda hazırlanmışdır. SVGo yaradıcılara heyrətamiz animasiyalar yaratmağa və asanlıqla tək animasiya edilmiş SVG faylını ixrac etməyə imkan verir. Kitabxana keçid tərəfindən istinad edilən elementi canlandırmağa imkan verir, istinad edilən obyekti müəyyən edilmiş yol boyunca canlandırır, tərcümə çevrilməsini canlandırır, fırlanma transformasiyasını canlandırır, miqyaslı və ya skewX transformasiyasını canlandırır və s.

GO kitabxanası vasitəsilə SVG-yə Animasiya əlavə edin

func main() {
	width, height := 500, 500
	rsize := 100
	csize := rsize / 2
	duration := 5.0
	repeat := 5
	imw, imh := 100, 144
	canvas := svg.New(os.Stdout)
	canvas.Start(width, height)
	canvas.Circle(csize, csize, csize, `fill="red"`, `id="circle"`)
	canvas.Image((width/2)-(imw/2), 0, imw, imh, "gopher.jpg", `id="gopher"`)
	canvas.Square(width-rsize, 0, rsize, `fill="blue"`, `id="square"`)
	canvas.Animate("#circle", "cx", 0, width, duration, repeat)
	canvas.Animate("#circle", "cy", 0, height, duration, repeat)
	canvas.Animate("#square", "x", width, 0, duration, repeat)
	canvas.Animate("#square", "y", height, 0, duration, repeat)
	canvas.Animate("#gopher", "y", 0, height, duration, repeat)
	canvas.End()
}
 Azəri