Nyílt forráskódú Go Library az SVG létrehozásához és manipulálásához
Nagyon stabil Go API, amely támogatja az SVG rajzok generálását. Hozzáadhat alakzatokat, vonalakat, szöveget, képeket, útvonalakat, és alkalmazhat színeket, színátmeneteket, animációkat és egyebeket.
Az SVGo egy nyílt forráskódú Go nyelvi könyvtár, amely lehetővé teszi a szoftverfejlesztők számára, hogy SVG-t hozzanak létre saját alkalmazásaikban a Scalable Vector Graphics 1.1 specifikáció segítségével. A könyvtár támogatja az SVG alakzatokat, például köröket, ellipsziseket, sokszögeket, téglalapokat stb. Támogatja az SVG-transzformációs funkciókat is, mint például a fordítás, elforgatás, méretezés, ferdeség stb.
Az SVGo könyvtár bárhol futhat, ahol a Go nyelv elérhető, és teljes mértékben hordozható olyan népszerű operációs rendszereken, mint a Linux, Mac OS X, Windows stb. A könyvtár számos fontos funkciót tartalmaz az alakzatokkal, vonalakkal, szöveggel, rajzi útvonalakkal, képekkel és színátmenetek, képátalakítás, szűrőeffektusok, animációk alkalmazása, metaadatelemek stb.
A könyvtárat úgy tervezték, hogy szabványos, tiszta, olvasható kódot állítson elő, amely közel áll a hangolt, kézzel készített kódhoz, amely teljes mértékben kihasználja az SVG különféle elemeit. A könyvtár támogatja a beépített szűrőket a felhasználói kényelem érdekében, mint például a szórás szerinti elmosódás funkció, a kép szürkeárnyalatos szűrője, az árnyalatok elforgatása, a kép színeinek megfordítása, a szépia tónus alkalmazása és még sok más.
Kezdő lépések a képalkotással
Az SVGo telepítésének legegyszerűbb és ajánlott módja a GitHubon keresztül. Kérjük, használja a következő parancsot az egyszerű és gördülékeny telepítés érdekében.
Telepítse az SVGo-t a GitHubon keresztül
go get -u github.com/ajstarks/svgo
SVG létrehozása a GO Library segítségével
A nyílt forráskódú SVGo könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy programozottan SVG-rajzokat állítsanak elő saját alkalmazásukon belül a Go parancsok segítségével. A fejlesztőknek meg kell határozniuk az SVG vászon szélességét és magasságát, valamint az SVG célját. A fejlesztők könnyedén rajzolhatnak alakzatokat, például köröket, ellipsziseket, sokszögeket stb., valamint könnyedén beírhatják a választott szöveget.
SVG létrehozása Image keresztül Gt
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()
}
Alakzatok és ösvények rajzolása
Az SVGo könyvtár funkcionalitást biztosít különféle alakzatok létrehozásához saját alkalmazásaikon belül. Támogatja a kör, ellipszis, sokszög, téglalap vagy lekerekített téglalap, négyzet, vonalszakasz sorozat stb. rajzolását. Könnyedén rajzolhat vonalakat és útvonalakat is. Rajzolhat elliptikus ívet, kikeményedést, köbös bezier-görbét, másodfokú bezier-görbét és így tovább.
Rajz kör online keresztül Gt
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()
}
Kép és szöveg támogatás
A nyílt forráskódú SVGo könyvtár teljes mértékben támogatja a képek és szövegek beszúrását, miközben SVG-rajzot hoz létre a Go parancsokkal. A kép vagy szöveg elhelyezésekor meg kell adni a helyet, ahová el szeretné helyezni, és megadhatja a kép szélességét és magasságát is. Több sornyi szöveget is beszúrhat, és megadhatja a méretet, a kitöltést, az igazítást és a térközt. Támogatja a stílusos szöveg elhelyezését is az elérési út mellett. A választott színt az RGB séma használatával is meghatározhatja.
Adjon képet és szöveget az SVG-nek a Gt alkalmazásokban
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()
}
Animáció alkalmazása SVG-re
Az SVG animációs elemeket a World Wide Web Consortium (W3C) Synchronized Multimedia Working Group együttműködésével fejlesztették ki. Az SVGo lehetővé teszi a fejlesztők számára, hogy lenyűgöző animációkat készítsenek, és egyszerűen exportáljanak egyetlen animált SVG-fájlt. A könyvtár lehetővé teszi a hivatkozás által hivatkozott elem animálását, animálja a hivatkozott objektumot a megadott útvonalon, animálja a fordítási transzformációt, animálja a forgatási transzformációt, animálja a léptéket vagy a skewX transzformációt stb.
Animáció az SVG-hez keresztül Gt könyvtár
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()
}