1. Produkte
  2.   Bild
  3.   GO
  4.   SVGo
 
  

Open-Source-Go-Bibliothek für die SVG-Erstellung und -Bearbeitung

Eine sehr stabile Go-API, die das Generieren von SVG-Zeichnungen unterstützt. Sie können Formen, Linien, Text, Bilder, Pfade hinzufügen und Farben, Farbverläufe, Animationen und mehr anwenden.  

So ist eine Open Source Go Sprachbibliothek, die es Software-Entwicklern ermöglicht, SVG in ihren eigenen Anwendungen unter Verwendung der Scalable Vector Graphics 1.1 Spezifikation zu erstellen. Die Bibliothek unterstützt SVG-Formen wie Kreise, Verknüpfungen, Polygonen, Rechtecke usw. Es unterstützt auch SVG Transformationsfunktionen wie Übersetzung, Rotation, Skala, Skelw usw.

Die Bibliothek kann also überall dort laufen, wo die Go-Sprache verfügbar ist und komplett über gängige Betriebssysteme wie Linux, Mac Of X, Windows usw. portierbar ist. Die Bibliothek hat einige wichtige Funktionen in Bezug auf Formen, Zeilen, Text, Zeichen, Bilder und Farbverläufe, Bildtransformation, Filtereffekte, Animationen, Metadatenelemente usw. enthalten.

Die Bibliothek wurde entwickelt, um Standard-, saubere, lesbare Codes zu produzieren, der nah an einem abgestimmten, handgefertigten Code ist, der eine Vielzahl von SVG-Elementen voll ausnutzt. Die Bibliothek bietet Unterstützung für eingebaute Filter zur Benutzerfreundlichkeit, wie z.B. Blur-Funktion durch Standardabweichung, Graustufenfilter auf das Bild, Rotate Huey, Invertieren Sie die Farben des Bildes.

Previous Next

Erste Schritte mit der Bildgebung

Der einfachste und empfohlene Weg, So zu installieren ist via GitHub. Bitte benutzen Sie den folgenden Befehl für eine einfache und reibungslose Installation.

Installieren Sie SVGo über GitHub

go get -u github.com/ajstarks/svgo

Generieren Sie SVG über die GO-Bibliothek

Die Open Source So Bibliothek ermöglicht es Software-Entwicklern, SVG-Zeichnungen innerhalb ihrer eigenen Anwendung unter Verwendung von Go-Befehlen zu erstellen. Entwickler müssen die Breite und Höhe der SVG-Leistung sowie das Ziel von SVG definieren. Entwickler können ganz einfach Formen wie Kreise, Eklipsen, Polygonen usw. zeichnen. und kann den Text ihrer Wahl leicht eingeben.

Erstellen Sie SVG Image via G

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

Zeichnen von Formen und Pfaden

Die Bibliothek So hat Funktionen zur Verfügung gestellt, um verschiedene Formen innerhalb ihrer eigenen Anwendungen zu erstellen. Es unterstützt das Zeichnen eines Kreises, einer Ellipse, Polygon, einem Rechteck oder einem runden Rechteck, einem Quadrat, einer Reihe von Liniensegmenten und mehr. Sie können auch leicht Linien und Pfade zeichnen. Sie können einen elliptischen Bogen zeichnen, heilen, würfelisch bessere Kurve, quadratische bessere Kurve usw.

Das Zeichnen von Circle Online über 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()
}

Bild- und Textunterstützung

Die Open Source So Bibliothek hat vollständige Unterstützung für das Einfügen von Bildern und Text bei der Erstellung einer SVG-Zeichnung mithilfe von Go-Befehlen bereitgestellt. Beim Platzieren eines Bildes oder eines Textes müssen Sie den Ort angeben, an dem Sie es setzen wollen, und können auch Breite und Höhe des Bildes definieren. Sie können auch mehrere Zeilen Text einfügen und Größe, Füllung, Ausrichtung und Abstand definieren. Es unterstützt auch das Platzieren von formatiertem Text zusammen mit dem Pfad. Sie können auch die Farbe Ihrer Wahl mithilfe des GB-Systems definieren.

Fügen Sie Image & Text in Gt Apps zur SVG hinzu.

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

Anwenden von Animationen auf SVG

SVG-Animationselemente wurden in Zusammenarbeit mit der Synchronized Multimedia Working Group des World Wide Web Consortium (W3C) entwickelt. Das SVGo ermöglicht Entwicklern, beeindruckende Animationen zu erstellen und eine einzelne animierte SVG-Datei mit Leichtigkeit zu exportieren. Die Bibliothek ermöglicht das Animieren des durch den Link referenzierten Elements, animiert das referenzierte Objekt entlang des angegebenen Pfads, animiert die Translationstransformation, animiert die Rotationstransformation, animiert die Skalierungs- oder skewX-Transformation und so weiter.

Animation an SVG über Gt Bibliothek hinzufügen

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