1. Prodotti
  2.   Immagine
  3.   GO
  4.   SVGo
 
  

Libreria Go Open Source per la creazione e la manipolazione di SVG

Un'API Go molto stabile che supporta la generazione di disegni SVG. Puoi aggiungere forme, linee, testo, immagini, percorsi e applicare colori, sfumature, animazioni e altro ancora.  

SVGo è una libreria di lingua Go open source che consente agli sviluppatori di software di creare SVG all'interno delle proprie app utilizzando la specifica Scalable Vector Graphics 1.1. La libreria fornisce supporto per forme SVG come cerchi, ellissi, poligoni, rettangoli, ecc. Supporta anche funzionalità di trasformazioni SVG come traslazione, rotazione, ridimensionamento, inclinazione e così via.

La libreria SVGo può essere eseguita ovunque sia disponibile la lingua Go ed è completamente portabile su sistemi operativi popolari come Linux, Mac OS X, Windows, ecc. La libreria ha incluso diverse importanti funzionalità relative a forme, linee, testo, tracciati di disegno, immagini e gradienti, trasformazione dell'immagine, effetti filtro, applicazione di animazioni, elementi di metadati e così via.

La libreria è progettata per produrre codice standard, pulito e leggibile che è vicino al codice ottimizzato e artigianale che fa pieno uso di una varietà di elementi SVG. La libreria ha fornito il supporto per i filtri integrati per la comodità dell'utente, come la funzione di sfocatura in base alla deviazione standard, il filtro in scala di grigi sull'immagine, la rotazione delle tonalità, l'inversione dei colori dell'immagine, l'applicazione del tono seppia e molti altri.

Previous Next

Iniziare con l'imaging

Il modo più semplice e consigliato per installare SVGo è tramite GitHub. Si prega di utilizzare il comando seguente per un'installazione facile e senza problemi.

Installa SVGo  tramite GitHub

go get -u github.com/ajstarks/svgo

Genera SVG tramite GO Library

La libreria SVGo open source consente agli sviluppatori di software di generare in modo programmatico disegni SVG all'interno della propria applicazione utilizzando i comandi Go. Gli sviluppatori devono definire la larghezza e l'altezza della tela SVG, nonché la destinazione di SVG. Gli sviluppatori possono disegnare facilmente forme come cerchi, ellissi, poligoni, ecc. e possono inserire facilmente il testo di loro scelta.

Crea immagine SVG tramite 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()
}

Forme e percorsi di disegno

La libreria SVGo ha fornito funzionalità per creare diversi tipi di forme all'interno delle proprie applicazioni. Supporta il disegno di un cerchio, un'ellisse, un poligono, un rettangolo o un rettangolo arrotondato, un quadrato, una serie di segmenti di linea e altro ancora. Puoi anche disegnare facilmente linee e percorsi con facilità. È possibile disegnare un arco ellittico, una polimerizzazione, una curva di Bézier cubica, una curva di Bézier quadratica e così via.

Cerchio di disegno online via 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()
}

Supporto per immagini e testi

La libreria SVGo open source ha fornito il supporto completo per l'inserimento di immagini e testo durante la creazione di un disegno SVG utilizzando i comandi Vai. Durante il posizionamento di un'immagine o di un testo è necessario specificare il punto in cui si desidera inserirlo e definire anche la larghezza e l'altezza dell'immagine. Puoi anche inserire più righe di testo e definire dimensioni, riempimento, allineamento e spaziatura. Supporta anche il posizionamento di testo con stile insieme al percorso. Puoi anche definire il colore che preferisci usando lo schema RGB.

Aggiungi immagine & testo a SVG all'interno di Gt 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()
}

Applicazione dell'animazione a SVG

Gli elementi di animazione SVG sono stati sviluppati in collaborazione con il Synchronized Multimedia Working Group del World Wide Web Consortium (W3C). SVGo consente agli sviluppatori di creare animazioni straordinarie ed esportare un singolo file SVG animato con facilità. La libreria consente di animare l'elemento a cui fa riferimento il collegamento, anima l'oggetto a cui si fa riferimento lungo il percorso specificato, anima la trasformazione di traslazione, anima la trasformazione di rotazione, anima la trasformazione di scala o skewX e così via.

Aggiungere Animazione a SVG tramite libreria Gt

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