2023/01/18 追記
ImageProcessorの開発は停止されました。
代替としてImageSharpの利用を推奨します。
Ⅰ. はじめに
ImageProcessorは画像処理ライブラリです。
現時点で、2値化処理、エッジ検出、色反転、縮小、拡大、切り取り、等様々なフィルタ処理に対応しています。
http://imageprocessor.org/
https://github.com/JimBobSquarePants/ImageProcessor
Ⅱ. インストール
インストールはNuGetから行います。
Ⅲ. サンプルコード
ファイルからの読み込み
// ファイルの読み込み byte[] source = File.ReadAllBytes("in.png"); using (MemoryStream inStream = new MemoryStream(source)) using (MemoryStream outStream = new MemoryStream()) using (ImageFactory imageFactory = new ImageFactory()) { imageFactory.Load(inStream) .Resize(new Size(100, 100)) // 100x100にリサイズ .Format(new PngFormat()) // PNG形式 .DetectEdges(new Laplacian3X3EdgeFilter(), true) // エッジ検出 .Filter(MatrixFilters.Invert) // 色反転 .Quality(70) // クオリティ .Save(outStream); // ファイルに書き込み File.WriteAllBytes("out.png", outStream.ToArray()); }
Bitmap からの読み込み
var bmp = new Bitmap(width, height); var image = new ImageFactory() .Load(bmp) .Rotate(90) // 時計回りに90度回転 .Image; bmp = new Bitmap(image);
Ⅳ. その他
他にも優秀な画像処理ライブラリはこちらにまとまっています。