1. Des produits
  2.   Image
  3.   GO
  4.   SVGo
 
  

Bibliothèque Go Open Source pour la création et la manipulation SVG

Une API Go très stable qui prend en charge la génération de dessins SVG. Vous pouvez ajouter des formes, des lignes, du texte, des images, des chemins et appliquer des couleurs, des dégradés, des animations et plus encore.  

C'est donc une bibliothèque de langue ouverte qui permet aux concepteurs de logiciels de créer des SVG à l'intérieur de leur propre p. La bibliothèque fournit un soutien pour les formes SVG telles que les cercles, les éclipses, les polygones, les rectangles, etc. Elle appuie également des caractéristiques de transformation du SVG telles que la traduction, la rotation, l'échelle, le squeu et ainsi de suite.

La bibliothèque de So peut circuler n'importe où la langue Go est disponible et est entièrement transférable dans des systèmes d'exploitation populaires comme Linux, Mac of X, Windows, etc. La bibliothèque a inclus plusieurs caractéristiques importantes liées aux formes, aux lignes, au texte, aux tracés, aux images et aux gradients, à la transformation de l'image, aux effets filtrants, à l'application d'animations, de métadonnées, etc.

La bibliothèque est conçue pour produire un code standard, propre et lisible qui se rapproche du code à la main qui fait une utilisation complète d'éléments SVG. La bibliothèque a fourni un soutien aux filtres intégrés pour la commodité de l'utilisateur, comme la fonction de la vessie par déviation standard, le filtre gris à l'image, Rotate Huey, Invert les couleurs de l'image.

Previous Next

Premiers pas avec l'imagerie

La méthode la plus facile et la plus recommandable d'installer So est le GitHub. Veuillez utiliser la commande suivante pour une installation facile et sans heurt.

Installer SVGo via GitHub

go get -u github.com/ajstarks/svgo

Générer du SVG via GO Library

La bibliothèque de la source ouverte permet aux concepteurs de logiciels de produire des dessins SVG à l'intérieur de leur propre application à l'aide de commandements Go. Les promoteurs doivent définir la largeur et la hauteur de la toile SVG ainsi que la destination de SVG. Les développeurs peuvent facilement dessiner des formes comme les cercles, les éclipses, les polygones, etc. et peut entrer le texte de leur choix avec facilité.

Créer une image SVG via 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()
}

Dessiner des formes et des chemins

La bibliothèque de So a fourni une fonctionnalité pour créer différents types de formes dans leurs propres applications. Elle appuie le dessin d'un cercle, d'une éllipse, d'un polygone, d'un rectangle arrondi, d'un carré, d'une série de segments de ligne et plus. Vous pouvez aussi facilement dessiner des lignes et des sentiers avec facilité. Vous pouvez dessiner un arc elliptique, une cure, une meilleure courbe cubique, une meilleure courbe quadratique, etc.

Circle de dessin en ligne 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()
}

Prise en charge des images et du texte

La bibliothèque de So a fourni un soutien complet pour l'insertion d'images et de texte tout en créant un dessin SVG à l'aide de commandements Go. Tout en plaçant une image ou un texte, vous devez préciser le lieu où vous voulez la mettre et définir la largeur et la hauteur de l'image. Vous pouvez également insérer plusieurs lignes de texte et définir la taille, le remplissage, l'alignement et l'espacement. Il appuie également la mise en place d'un texte stylisé et de la voie. Vous pouvez aussi définir la couleur de votre choix en utilisant le système GB.

Ajouter Image Texte à SVG à l'intérieur du 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()
}

Appliquer l'animation au SVG

Les éléments d'animation SVG ont été développés en collaboration avec le groupe de travail multimédia synchronisé du World Wide Web Consortium (W3C). Le SVGo permet aux développeurs de créer de superbes animations et d'exporter facilement un seul fichier SVG animé. La bibliothèque permet d'animer l'élément référencé par le lien, anime l'objet référencé le long du chemin spécifié, anime la transformation de translation, anime la transformation de rotation, anime la transformation d'échelle ou skewX, etc.

Ajouter l'animation à SVG via la bibliothèque 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()
}
 Français