Michi -GPSログ整形アプリを.NETへ移行する。 7

グラフもだいたい完成。

まだ出来ていないのは、XY各軸の数値のインターバルを決定するアルゴリズムです。現状は決め打ちっぽく固定です。とりあえずアルゴリズムは簡単に実装しました。

細かい微調整はし易く造ってるので、都度々々調整します。

最近のあれこれ

「竜と苺」の柳本光晴さんは「響〜小説家になる方法」の作者さんだったんですね。

話題作だったので当時も試し読みで読んだのですが、やっぱり1巻丸々とか読まないと面白さが私には分からなかった。ということで全13巻買って読んだのでした。私としては、やはり「竜と苺」の方が好きかも。

“最近のあれこれ” の続きを読む

Michi -GPSログ整形アプリを.NETへ移行する。 5

scottPlotやNPlotでフォントが化けるのは、結局System.Drawing.Commonが.NET6 unixではサポートされていないから?らしいですね…ということはImageSharpでゴリゴリとグラフを描画するしかないのかなぁ。

という訳で、とりあえずImageSharpで文字が描画できるかだけを確かめた。

using (SixLabors.ImageSharp.Image img = new Image<Rgba32>(500, 100))
 {
  //var font = SixLabors.Fonts.SystemFonts.CreateFont("Arial", 39, SixLabors.Fonts.FontStyle.Regular);
  var font = SixLabors.Fonts.SystemFonts.CreateFont("Ubuntu Mono", 39, SixLabors.Fonts.FontStyle.Regular);

  string text = "Hello World ハローワールド";

  img.Mutate(ctx => ctx
    .Fill(SixLabors.ImageSharp.Color.Gray)
    .DrawText(text, font, SixLabors.ImageSharp.Color.Black, new SixLabors.ImageSharp.PointF(0, 0))
  );

  img.Save("/path/test.png");
}
こんな感じに出力できた。

日本語が出ないのはフォントの指定方法が悪いせいなのか調べてません。とりあえず英語が出れば問題ないので、ImageSharpで(非常に)簡単なグラフ ライブラリを作ってみます。