はじめに
Go言語でCLIのログ分析ツールを開発しています。
このツールの機能としてグラフを画像で出力する機能があります。
のようなグラフです。このグラフ画像をターミナル内に表示できそうなgo-sixelというGo言語のパッケージを見つけたので紹介します。
go-sixelパッケージ
サンプルプログラム
main.go
package main
import (
"image"
_ "image/gif"
_ "image/jpeg"
_ "image/png"
"log"
"os"
"github.com/mattn/go-sixel"
)
func main() {
if len(os.Args) != 2 {
log.Fatalln("Usage: sixel [image file]")
}
fp, err := os.Open(os.Args[1])
if err != nil {
log.Fatalln(err)
}
img, _, err := image.Decode(fp)
if err != nil {
log.Fatalln(err)
}
sixel.NewEncoder(os.Stdout).Encode(img)
}
指定したファイルをsixelに変換してターミナルに表示できます。
余談
テストは成功したので、TWSLAに組み込んでみようと思います。
次の日に追記:
組み込みできました。