1. Ürün:% s
  2.   resim
  3.   GO
  4.   SVGo
 
  

SVG Oluşturma ve Manipülasyon için Açık Kaynaklı Go Kitaplığı

SVG çizimleri oluşturmayı destekleyen çok kararlı bir Go API. Şekiller, çizgiler, metinler, resimler, yollar ekleyebilir ve renk, degradeler, animasyonlar ve daha fazlasını uygulayabilirsiniz.  

SVGo, yazılım geliştiricilerin Ölçeklenebilir Vektör Grafikleri 1.1 Belirtimi kullanarak kendi uygulamaları içinde SVG oluşturmalarını sağlayan açık kaynaklı bir Go dil kitaplığıdır. Kitaplık, daireler, elipsler, çokgenler, dikdörtgenler vb. gibi SVG şekilleri için destek sağlar. Ayrıca çevirme, döndürme, ölçekleme, eğriltme vb. SVG dönüştürme özelliklerini de destekler.

SVGo kitaplığı, Go dilinin bulunduğu her yerde çalışabilir ve Linux, Mac OS X, Windows vb. gibi popüler işletim sistemlerinde tamamen taşınabilirdir. Kitaplık, şekiller, çizgiler, metin, çizim yolları, resimler ve gradyanlar, görüntü dönüştürme, filtre efektleri, animasyon uygulama, meta veri öğeleri vb.

Kitaplık, çeşitli SVG öğelerinden tam olarak yararlanan, ayarlanmış, el yapımı koda yakın standart, temiz, okunabilir kod üretmek üzere tasarlanmıştır. Kitaplık, standart sapmaya göre bulanıklaştırma işlevi, görüntüye gri tonlama filtresi, Tonları Döndürme, Görüntünün renklerini Ters Çevirme, sepya tonu uygulama ve çok daha fazlası gibi kullanıcı rahatlığı için yerleşik filtreler için destek sağlamıştır.

Previous Next

Görüntülemeye Başlarken

SVGo'yu kurmanın en kolay ve tavsiye edilen yolu GitHub'dır. Kolay ve sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın.

SVGo'yu GitHub aracılığıyla yükleyin

go get -u github.com/ajstarks/svgo

GO Kitaplığı aracılığıyla SVG oluşturun

Açık kaynaklı SVGo kitaplığı, yazılım geliştiricilerin Go komutlarını kullanarak kendi uygulamaları içinde programlı olarak SVG çizimleri oluşturmalarını sağlar. Geliştiricilerin, SVG tuvalinin genişliğini ve yüksekliğini ve ayrıca SVG'nin hedefini tanımlaması gerekir. Geliştiriciler daire, elips, çokgen vb. şekilleri kolayca çizebilir ve istedikleri metni kolaylıkla girebilir.

Create SVG Image via Gtt

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

Şekiller ve Yollar Çizme

SVGo kitaplığı, kendi uygulamalarında farklı türde şekiller oluşturmak için işlevsellik sağlamıştır. Bir daire, elips, çokgen, dikdörtgen veya yuvarlak bir dikdörtgen, kare, bir dizi çizgi parçası ve daha fazlasını çizmeyi destekler. Ayrıca kolaylıkla çizgiler ve yollar çizebilirsiniz. Eliptik bir yay, sertleştirme, kübik bezier eğrisi, ikinci dereceden bezier eğrisi vb. çizebilirsiniz.

Çizim Circle Online via Gtt

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

Resim ve Metin Desteği

Açık kaynak SVGo kitaplığı, Go komutlarını kullanarak bir SVG çizimi oluştururken resim ve metin eklemek için tam destek sağlamıştır. Bir resim veya metin yerleştirirken, koymak istediğiniz yeri belirtmeniz gerekir ve ayrıca resmin genişliğini ve yüksekliğini de tanımlayabilirsiniz. Ayrıca birden çok metin satırı ekleyebilir ve boyut, dolgu, hizalama ve boşluk tanımlayabilirsiniz. Ayrıca, yolla birlikte stilli metin yerleştirmeyi de destekler. RGB şemasını kullanarak istediğiniz rengi de tanımlayabilirsiniz.

Gt Apps içinde SVG için Image & Text ekleyin

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

Animasyonu SVG'ye Uygulama

SVG animasyon öğeleri, World Wide Web Konsorsiyumu (W3C) Senkronize Multimedya Çalışma Grubu ile işbirliği içinde geliştirildi. SVGo, geliştiricilerin çarpıcı animasyonlar oluşturmasını ve tek bir animasyonlu SVG dosyasını kolaylıkla dışa aktarmasını sağlar. Kitaplık, bağlantı tarafından başvurulan öğenin canlandırılmasına, belirtilen yol boyunca başvurulan nesnenin canlandırılmasına, öteleme dönüşümünün canlandırılmasına, döndürme dönüşümünün canlandırılmasına, ölçek veya skewX dönüşümünün canlandırılmasına vb. izin verir.

SVG için Animasyon ekle Gt kütüphanesi

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()
}
 Türkçe