Example #1
0
        // 引数で渡されたビットマップ画像をグレースケール化します
        public static Bitmap Apply(Bitmap source)
        {
            // ビットマップ画像から全てのピクセルを抜き出す
            PixelManipulator s = PixelManipulator.LoadBitmap(source);
            PixelManipulator d = s.Clone();

            // 全てのピクセルを巡回する
            s.EachPixel((x, y) => {
                // グレースケールにする
                byte r     = s.R(x, y);
                byte g     = s.G(x, y);
                byte b     = s.B(x, y);
                byte color = _GrayScale(r, g, b);

                d.SetPixel(x, y, color, color, color);
            });

            // 新しいビットマップ画像を作成して、ピクセルをセットする
            return(d.CreateBitmap());
        }