1. Produktai
  2.   Vaizdas
  3.   GO
  4.   SVGo
 
  

Atvirojo kodo „Go“ biblioteka, skirta SVG kūrimui ir manipuliavimui

Labai stabili „Go“ API, palaikanti SVG brėžinių generavimą. Galite pridėti formų, linijų, teksto, vaizdų, takų ir pritaikyti spalvas, gradientus, animaciją ir kt.  

SVGo yra atvirojo kodo Go kalbų biblioteka, leidžianti programinės įrangos kūrėjams kurti SVG savo programose, naudojant Scalable Vector Graphics 1.1 specifikaciją. Biblioteka palaiko SVG formas, tokias kaip apskritimai, elipsės, daugiakampiai, stačiakampiai ir kt. Ji taip pat palaiko SVG transformacijų funkcijas, tokias kaip vertimas, pasukimas, mastelio keitimas, pakreipimas ir pan.

SVGo biblioteka gali veikti visur, kur yra Go kalba, ir yra visiškai nešiojama populiariose operacinėse sistemose, tokiose kaip Linux, Mac OS X, Windows ir kt. Bibliotekoje yra keletas svarbių funkcijų, susijusių su formomis, linijomis, tekstu, piešimo keliais, vaizdais ir gradientai, vaizdo transformacija, filtrų efektai, animacijos, metaduomenų elementų taikymas ir pan.

Biblioteka sukurta taip, kad būtų sukurtas standartinis, švarus, skaitomas kodas, artimas suderintam, rankomis kuriamam kodui, kuriame visapusiškai išnaudojami įvairūs SVG elementai. Naudotojo patogumui biblioteka palaiko įmontuotus filtrus, tokius kaip suliejimo funkcija pagal standartinį nuokrypį, vaizdo pilkos spalvos filtras, atspalvių pasukimas, vaizdo spalvų apvertimas, sepijos atspalvių taikymas ir daug daugiau.

Previous Next

Darbo su vaizdavimu pradžia

Lengviausias ir rekomenduojamas būdas įdiegti SVGo yra per GitHub. Norėdami lengvai ir sklandžiai įdiegti, naudokite šią komandą.

Įdiekite SVGo  per „GitHub“.

go get -u github.com/ajstarks/svgo

Sukurkite SVG naudodami GO biblioteką

Atvirojo kodo SVGo biblioteka leidžia programinės įrangos kūrėjams programiškai generuoti SVG brėžinius savo programoje, naudojant Go komandas. Kūrėjai turi apibrėžti SVG drobės plotį ir aukštį bei SVG paskirties vietą. Kūrėjai gali lengvai piešti tokias formas kaip apskritimai, elipsės, daugiakampiai ir kt., taip pat gali lengvai įvesti pasirinktą tekstą.

Sukurkite SVG vaizdą naudodami GO

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

Formų ir takų piešimas

SVGo biblioteka suteikė funkcionalumą, leidžiantį kurti įvairias formas savo programose. Jis palaiko apskritimo, elipsės, daugiakampio, stačiakampio arba suapvalinto stačiakampio, kvadrato, linijos atkarpų serijos ir kt. Taip pat galite lengvai nubrėžti linijas ir kelius. Galite nubrėžti elipsės formos lanką, kietėjimą, kubinę Bezier kreivę, kvadratinę Bezier kreivę ir pan.

Piešimo ratas internetu per GO

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

Vaizdo ir teksto palaikymas

Atvirojo kodo SVGo biblioteka suteikė visišką palaikymą vaizdų ir teksto įterpimui kuriant SVG piešinį naudojant Go komandas. Pateikdami vaizdą ar tekstą turite nurodyti vietą, kur norite jį įdėti, taip pat galite nustatyti vaizdo plotį ir aukštį. Taip pat galite įterpti kelias teksto eilutes ir nustatyti dydį, užpildymą, lygiavimą ir tarpus. Jis taip pat palaiko stiliaus teksto pateikimą kartu su keliu. Taip pat galite nustatyti pasirinktą spalvą naudodami RGB schemą.

Pridėkite vaizdą ir tekstą prie SVG „GO Apps“.

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

Animacijos taikymas SVG

SVG animacijos elementai buvo sukurti bendradarbiaujant su World Wide Web Consortium (W3C) sinchronizuotos daugialypės terpės darbo grupe. SVGo suteikia galimybę kūrėjams sukurti nuostabias animacijas ir lengvai eksportuoti vieną animuotą SVG failą. Biblioteka leidžia animuoti nuorodos nurodytą elementą, animuoti nurodytą objektą nurodytu keliu, animuoti vertimo transformaciją, animuoti pasukimo transformaciją, animuoti mastelio arba skewX transformaciją ir pan.

Pridėkite animaciją prie SVG per GO biblioteką

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()
}
 Lietuvių