Avoimen lähdekoodin Go-kirjasto SVG:n luomista ja käsittelyä varten
Erittäin vakaa Go API, joka tukee SVG-piirustusten luomista. Voit lisätä muotoja, viivoja, tekstiä, kuvia, polkuja ja käyttää värejä, liukuvärejä, animaatioita ja paljon muuta.
SVGo on avoimen lähdekoodin Go-kielikirjasto, jonka avulla ohjelmistokehittäjät voivat luoda SVG:tä omissa sovelluksissaan Scalable Vector Graphics 1.1 -määrityksen avulla. Kirjasto tukee SVG-muotoja, kuten ympyröitä, ellipsiä, polygoneja, suorakulmioita jne. Se tukee myös SVG-muunnosominaisuuksia, kuten kääntää, kiertää, skaalata, vinottaa ja niin edelleen.
SVGo-kirjastoa voidaan käyttää missä tahansa Go-kieli on saatavilla, ja se on täysin kannettava suosituissa käyttöjärjestelmissä, kuten Linuxissa, Mac OS X:ssä, Windowsissa jne. Kirjastossa on useita tärkeitä ominaisuuksia, jotka liittyvät muotoihin, viivoihin, tekstiin, piirustuspolkuihin, kuviin ja gradientit, kuvan muunnos, suodatintehosteet, animaatioiden käyttö, metatietoelementit ja niin edelleen.
Kirjasto on suunniteltu tuottamaan standardia, puhdasta, luettavaa koodia, joka on lähellä viritettyä, käsintehtyä koodia, joka hyödyntää täysin erilaisia SVG-elementtejä. Kirjasto on tarjonnut tuen sisäänrakennetuille suodattimille käyttäjien avuksi, kuten sumennustoiminnolle keskihajonnan mukaan, kuvan harmaasävysuodattimelle, Kierrä sävyjä, Kääntele kuvan värejä, lisää seepiasävyjä ja monia muita.
Kuvankäsittelyn käytön aloittaminen
Helpoin ja suositeltava tapa asentaa SVGo on GitHubin kautta. Käytä seuraavaa komentoa helppoa ja sujuvaa asennusta varten.
Asenna SVGo GitHubin kautta
go get -u github.com/ajstarks/svgo
Luo SVG GO Libraryn kautta
Avoimen lähdekoodin SVGo-kirjaston avulla ohjelmistokehittäjät voivat luoda ohjelmallisesti SVG-piirustuksia omassa sovelluksessaan Go-komentojen avulla. Kehittäjien on määritettävä SVG-kankaan leveys ja korkeus sekä SVG:n kohde. Kehittäjät voivat helposti piirtää muotoja, kuten ympyröitä, ellipsejä, polygoneja jne., sekä syöttää valitsemansa tekstin helposti.
Luo SVG-kuva GO:n kautta
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()
}
Muotojen ja polkujen piirtäminen
SVGo-kirjasto on tarjonnut toiminnallisuutta erilaisten muotojen luomiseen omissa sovelluksissaan. Se tukee ympyrän, ellipsin, monikulmion, suorakulmion tai pyöristetyn suorakulmion, neliön, viivaosien sarjan ja muiden piirtämistä. Voit myös helposti piirtää viivoja ja polkuja helposti. Voit piirtää elliptisen kaaren, kovettumisen, kuutiometrisen bezier-käyrän, neliöllisen bezier-käyrän ja niin edelleen.
Piirustusympyrä verkossa GO:n kautta
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()
}
Kuva- ja tekstituki
Avoimen lähdekoodin SVGo-kirjasto on tarjonnut täydellisen tuen kuvien ja tekstin lisäämiseen luotaessa SVG-piirustusta Go-komennoilla. Kun asetat kuvaa tai tekstiä, sinun on määritettävä paikka, johon haluat sijoittaa sen, ja voit myös määrittää kuvan leveyden ja korkeuden. Voit myös lisätä useita tekstirivejä ja määrittää koon, täytön, tasauksen ja välin. Se tukee myös tyylitellyn tekstin sijoittamista polun mukana. Voit myös määrittää haluamasi värin käyttämällä RGB-mallia.
Lisää kuva ja teksti SVG:hen GO Appsin sisällä
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()
}
Sovelletaan animaatiota SVG:hen
SVG-animaatioelementit kehitettiin yhteistyössä World Wide Web Consortium (W3C) Synchronized Multimedia Working Groupin kanssa. SVGon avulla kehittäjät voivat tehdä upeita animaatioita ja viedä yhden animoidun SVG-tiedoston helposti. Kirjasto mahdollistaa linkin viittaaman kohteen animoinnin, animoi viitatun objektin määritettyä polkua pitkin, animoi käännösmuunnoksen, animoi kiertomuunnoksen, animoi mittakaava- tai vinoX-muunnoksen ja niin edelleen.
Lisää animaatio SVG:hen GO-kirjaston kautta
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()
}