go言語 ライブラリ「svgo」を使用してSVGを描画する

go言語のライブラリである「svgo」を使用するとSVGの描画が簡単にできます。ここでは、 svgoの利用手順と簡単な使い方を記述します。
環境
- OS windows10 pro
- go 1.13.8
svgoインストール
下記のコマンドでインストールします。
go get github.com/ajstarks/svgo
svgo使い方
円を描画してみます。
test.goというファイル名で、下記の通りに編集します。
package main
import (
"log"
"net/http"
svg "github.com/ajstarks/svgo"
)
func main() {
http.Handle("/svg", http.HandlerFunc(circle))
err := http.ListenAndServe(":82", 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(800, 800)
s.Circle(300, 300, 125, "fill:none;stroke:#3ab60b")
s.End()
}
実行します。
go run test.go
ブラウザからhttp://localhost:82/svgにアクセスすると、円が描画されていることが確認できます。

次にテキストを描画してみます。test.goを下記のコードに変更します。
package main
import (
"log"
"net/http"
svg "github.com/ajstarks/svgo"
)
func main() {
http.Handle("/svg", http.HandlerFunc(circle))
err := http.ListenAndServe(":82", 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.Text(250, 250, "Hello", "fill:none;stroke:#3ab60b;font-size:100")
s.End()
}
実行します。
go run test.go
ブラウザからhttp://localhost:82/svgにアクセスすると、テキストが描画されていることが確認できます。
-
前の記事
Vue.js ギャラリービューを簡単に実装できる「vue-previewer」の簡単な使い方 2020.03.17
-
次の記事
npm install -g 実行時に「npm WARN checkPermissions Missing write access to」が発生した場合の対処法 2020.03.17
コメントを書く