Atvērtā pirmkoda Go bibliotēka SVG izveidei un manipulēšanai
Ļoti stabila Go API, kas atbalsta SVG zīmējumu ģenerēšanu. Varat pievienot formas, līnijas, tekstu, attēlus, ceļus un lietot krāsas, gradientus, animācijas un daudz ko citu.
SVGo ir atvērtā pirmkoda Go valodu bibliotēka, kas programmatūras izstrādātājiem ļauj izveidot SVG savās lietotnēs, izmantojot Scalable Vector Graphics 1.1 specifikāciju. Bibliotēka nodrošina atbalstu SVG formām, piemēram, apļiem, elipsēm, daudzstūriem, taisnstūriem utt. Tā atbalsta arī SVG transformāciju funkcijas, piemēram, tulkošanu, pagriešanu, mērogošanu, šķībumu utt.
SVGo bibliotēka var darboties visur, kur ir pieejama Go valoda, un tā ir pilnībā pārnēsājama populārās operētājsistēmās, piemēram, Linux, Mac OS X, Windows utt. Bibliotēkā ir iekļautas vairākas svarīgas funkcijas, kas saistītas ar formām, līnijām, tekstu, zīmēšanas ceļiem, attēliem un gradienti, attēlu pārveidošana, filtru efekti, animāciju lietošana, metadatu elementi utt.
Bibliotēka ir izstrādāta, lai izveidotu standarta, tīru, lasāmu kodu, kas ir tuvu noregulētam, ar rokām veidotam kodam, kas pilnībā izmanto dažādus SVG elementus. Bibliotēka ir nodrošinājusi atbalstu iebūvētiem filtriem lietotāju ērtībām, piemēram, izplūšanas funkcijai ar standarta novirzi, pelēktoņu filtru attēlam, Rotate Hues, Invertējiet attēla krāsas, piemērojiet sēpijas toni un daudz ko citu.
Darba sākšana ar attēlveidošanu
Vienkāršākais un ieteicamākais veids, kā instalēt SVGo, ir caur GitHub. Lūdzu, izmantojiet šo komandu, lai instalēšana būtu vienkārša un vienmērīga.
Instalējiet SVGo, izmantojot GitHub
go get -u github.com/ajstarks/svgo
Ģenerējiet SVG, izmantojot GO bibliotēku
Atvērtā koda SVGo bibliotēka ļauj programmatūras izstrādātājiem programmatiski ģenerēt SVG rasējumus savā lietojumprogrammā, izmantojot komandas Go. Izstrādātājiem ir jādefinē SVG kanvas platums un augstums, kā arī SVG galamērķis. Izstrādātāji var viegli uzzīmēt formas, piemēram, apļus, elipses, daudzstūrus utt., kā arī var viegli ievadīt tekstu pēc savas izvēles.
Izveidojiet SVG attēlu, izmantojot 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()
}
Formu un ceļu zīmēšana
SVGo bibliotēka ir nodrošinājusi funkcionalitāti dažādu formu veidošanai savās lietojumprogrammās. Tā atbalsta apļa, elipses, daudzstūra, taisnstūra vai noapaļota taisnstūra, kvadrāta, līniju segmentu sērijas un citu zīmēšanu. Varat arī viegli zīmēt līnijas un celiņus. Varat uzzīmēt elipsveida loku, sacietēšanu, kubiskā bezjē līkni, kvadrātisko bezjē līkni utt.
Zīmēšanas aplis tiešsaistē, izmantojot 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()
}
Attēlu un teksta atbalsts
Atvērtā pirmkoda SVGo bibliotēka ir nodrošinājusi pilnīgu atbalstu attēlu un teksta ievietošanai, veidojot SVG zīmējumu, izmantojot komandas Go. Ievietojot attēlu vai tekstu, jums ir jānorāda vieta, kur vēlaties to ievietot, kā arī var noteikt attēla platumu un augstumu. Varat arī ievietot vairākas teksta rindiņas un noteikt izmēru, aizpildījumu, līdzinājumu un atstarpes. Tā atbalsta arī stilizēta teksta ievietošanu kopā ar ceļu. Varat arī definēt izvēlēto krāsu, izmantojot RGB shēmu.
Pievienojiet attēlu un tekstu SVG failam 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()
}
Animācijas lietošana SVG
SVG animācijas elementi tika izstrādāti sadarbībā ar World Wide Web Consortium (W3C) Synchronized Multimedia Working Group. SVGo ļauj izstrādātājiem izveidot satriecošas animācijas un viegli eksportēt vienu animētu SVG failu. Bibliotēka ļauj animēt vienumu, uz kuru atsaucas saite, animēt norādīto objektu pa norādīto ceļu, animēt tulkošanas transformāciju, animēt rotācijas transformāciju, animēt mēroga vai skewX transformāciju un tā tālāk.
Pievienojiet animāciju SVG, izmantojot GO bibliotēku
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()
}