एसवीजी निर्माण और हेरफेर के लिए ओपन सोर्स गो लाइब्रेरी
एक बहुत ही स्थिर गो एपीआई जो एसवीजी चित्र बनाने का समर्थन करता है। आप आकार, रेखाएं, पाठ, चित्र, पथ जोड़ सकते हैं और रंग, ग्रेडिएंट, एनिमेशन और बहुत कुछ लागू कर सकते हैं।
SVGo एक खुला स्रोत गो भाषा पुस्तकालय है जो सॉफ्टवेयर डेवलपर्स को स्केलेबल वेक्टर ग्राफिक्स 1.1 विशिष्टता का उपयोग करके अपने स्वयं के ऐप्स के अंदर SVG बनाने में सक्षम बनाता है। पुस्तकालय एसवीजी आकृतियों जैसे वृत्त, दीर्घवृत्त, बहुभुज, आयत, आदि के लिए समर्थन प्रदान करता है। यह एसवीजी परिवर्तन सुविधाओं जैसे अनुवाद, घुमाने, स्केल, तिरछा, आदि का भी समर्थन करता है।
एसवीजीओ पुस्तकालय कहीं भी चल सकता है गो भाषा उपलब्ध है और लिनक्स, मैक ओएस एक्स, विंडोज इत्यादि जैसे लोकप्रिय ऑपरेटिंग सिस्टम में पूरी तरह से पोर्टेबल है। पुस्तकालय में आकार, रेखाएं, टेक्स्ट, ड्राइंग पथ, छवियों से संबंधित कई महत्वपूर्ण विशेषताएं शामिल हैं। ग्रेडिएंट, छवि परिवर्तन, फ़िल्टर प्रभाव, एनिमेशन लागू करना, मेटाडेटा तत्व, और इसी तरह।
पुस्तकालय को मानक, स्वच्छ, पठनीय कोड तैयार करने के लिए डिज़ाइन किया गया है जो ट्यून किए गए, हाथ से तैयार किए गए कोड के करीब है जो विभिन्न प्रकार के एसवीजी तत्वों का पूर्ण उपयोग करता है। पुस्तकालय ने उपयोगकर्ता की सुविधा के लिए अंतर्निहित फिल्टर के लिए समर्थन प्रदान किया है, जैसे मानक विचलन द्वारा धुंधला कार्य, छवि के लिए ग्रेस्केल फ़िल्टर, रंग घुमाएँ, छवि के रंगों को उल्टा करें, सेपिया टोन लागू करें, और बहुत कुछ।
इमेजिंग के साथ शुरुआत करना
SVGo को स्थापित करने का सबसे आसान और अनुशंसित तरीका GitHub के माध्यम से है। एक आसान और सुचारू स्थापना के लिए कृपया निम्न कमांड का उपयोग करें।
GitHub के माध्यम से SVGo इंस्टॉल करें
go get -u github.com/ajstarks/svgo
जीओ लाइब्रेरी के माध्यम से एसवीजी उत्पन्न करें
ओपन सोर्स एसवीजीओ लाइब्रेरी सॉफ्टवेयर डेवलपर्स को गो कमांड का उपयोग करके अपने स्वयं के एप्लिकेशन के अंदर प्रोग्रामेटिक रूप से एसवीजी ड्रॉइंग उत्पन्न करने में सक्षम बनाती है। डेवलपर्स को एसवीजी कैनवास की चौड़ाई और ऊंचाई के साथ-साथ एसवीजी के गंतव्य को परिभाषित करने की आवश्यकता है। डेवलपर्स आसानी से वृत्त, दीर्घवृत्त, बहुभुज आदि जैसी आकृतियाँ बना सकते हैं और साथ ही अपनी पसंद के पाठ को आसानी से दर्ज कर सकते हैं।
SVG 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()
}
आरेखण आकृतियाँ और पथ
SVGo पुस्तकालय ने अपने स्वयं के अनुप्रयोगों के अंदर विभिन्न प्रकार की आकृतियाँ बनाने के लिए कार्यक्षमता प्रदान की है। यह एक वृत्त, दीर्घवृत्त, बहुभुज, आयत या एक गोल आयत, वर्ग, रेखा खंडों की श्रृंखला, और बहुत कुछ खींचने का समर्थन करता है। आप आसानी से रेखाएं और पथ भी आसानी से खींच सकते हैं। आप एक अण्डाकार चाप, इलाज, घन बेज़ियर वक्र, द्विघात बेज़ियर वक्र, इत्यादि बना सकते हैं।
रेखाचित्र ऑनलाइन
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()
}
छवि और पाठ समर्थन
ओपन सोर्स एसवीजीओ लाइब्रेरी ने गो कमांड का उपयोग करके एसवीजी ड्राइंग बनाते समय छवियों और टेक्स्ट को सम्मिलित करने के लिए पूर्ण समर्थन प्रदान किया है। एक छवि या पाठ रखते समय आपको उस स्थान को निर्दिष्ट करने की आवश्यकता होती है जहां आप इसे रखना चाहते हैं और छवि की चौड़ाई और ऊंचाई को भी परिभाषित कर सकते हैं। आप टेक्स्ट की कई पंक्तियाँ भी सम्मिलित कर सकते हैं और आकार, भरण, संरेखण और रिक्ति को परिभाषित कर सकते हैं। यह पथ के साथ स्टाइल टेक्स्ट रखने का भी समर्थन करता है। आप आरजीबी योजना का उपयोग करके अपनी पसंद के रंग को भी परिभाषित कर सकते हैं।
Gt Apps के अंदर SVG में छवि और पाठ जोड़ें
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()
}
एसवीजी में एनिमेशन लागू करना
वर्ल्ड वाइड वेब कंसोर्टियम (W3C) सिंक्रोनाइज़्ड मल्टीमीडिया वर्किंग ग्रुप के सहयोग से SVG एनिमेशन तत्वों को विकसित किया गया था। SVGo डेवलपर्स को शानदार एनिमेशन बनाने और आसानी से सिंगल एनिमेटेड SVG फाइल एक्सपोर्ट करने में सक्षम बनाता है। पुस्तकालय लिंक द्वारा संदर्भित आइटम को एनिमेट करने की अनुमति देता है, संदर्भित ऑब्जेक्ट को निर्दिष्ट पथ के साथ एनिमेट करता है, ट्रांसलेशन ट्रांसफॉर्मेशन को एनिमेट करता है, रोटेशन ट्रांसफॉर्मेशन को एनिमेट करता है, स्केल या स्क्यूएक्स ट्रांसफॉर्मेशन को एनिमेट करता है, और इसी तरह।
SVG में एनिमेशन जोड़ें 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()
}