maemaewaterの日記

エンジニア兼ゲーマーの人の日記です。PHP/Python/JavaScript/C#/C++などによるプログラムに関することを主に書いています。

.NET Coreでの画像の扱い

.NET Coreで画像を扱おうと思った時に画像関連のクラスライブラリが提供されていないことを知ったのですが、MSDNのブログにも触れられていました。

blogs.msdn.microsoft.com

Gitで利用ために画像概要をテキストで表現するときに.NETで書いたのですが、この時に使ったのが、上の記事で紹介されているImage Sharpでした。Visual StudioからNugetでインストールできるのですが、実はまだ正式版がリリースされていないので検索ボックスの右にある"プレリリースを含める"にチェックを入れないとでてきません(早く正式版がでてほしいですね!)。

f:id:maemaewater:20181118121438p:plain

ピクセルの値を取得するには次のような形になります。

using System;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;


namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            using (Image<Rgba32> img = Image.Load("test.png"))
            {
                Rgba32 pixel = img[80, 90];
                Console.WriteLine("{0}, {1}, {2}", pixel.R, pixel.G, pixel.B);
            }
        }
    }
}

使いやすい感じで良いですね!