1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Go言語のgo-sixelパッケージを使ってターミナル内に画像を表示する

Last updated at Posted at 2025-01-12

はじめに

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に変換してターミナルに表示できます。

image.png

余談

テストは成功したので、TWSLAに組み込んでみようと思います。

次の日に追記:

組み込みできました。

2025-01-13_06-16-28 (1).gif

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?