コード例 #1
0
 public void GlobalSetup()
 {
     _drawingBitmap = DrawingBitmapExtension.FromFile(_sourceBitmapPath);
     _bitmapSource  = BitmapSourceExtension.FromFile(_sourceBitmapPath);
     _container     = _drawingBitmap.ToImagePixelsContainer();
     _imageSharp    = ImageSharpBgr24Extension.FromFile(_sourceBitmapPath);
 }
コード例 #2
0
        public void ToEachClasses()
        {
            // bmp から ImagePixels を作成できないので DrawingBitmap から作成する
            using var bitmapBase = DrawingBitmapExtension.FromFile(_sourceBitmapPath);
            using var container  = bitmapBase.ToImagePixelsContainer();
            var pixels   = container.Pixels;
            var avesBase = pixels.GetChannelsAverage().ToList();

            avesBase.Count.Is(3);

            // ToDrawingBitmap
            using var bitmap0 = pixels.ToDrawingBitmap();
            var aves00 = bitmap0.GetChannelsAverage().ToList();

            aves00.Count.Is(3);
            aves00.Is(avesBase);

            // ToBitmapSource
            var bitmap1 = pixels.ToBitmapSource();
            var aves10  = bitmap1.GetChannelsAverage().ToList();

            aves10.Count.Is(3);
            aves10.Is(avesBase);

            // ToWriteableBitmap(BitmapSource)
            var writeable = pixels.ToWriteableBitmap();
            var aves20    = writeable.GetChannelsAverage().ToList();

            aves20.Count.Is(3);
            aves20.Is(avesBase);

            pixels.CopyToWriteableBitmap(writeable);
            var aves21 = writeable.GetChannelsAverage().ToList();

            aves21.Count.Is(3);
            aves21.Is(avesBase);

            // ToImageSharpBgr24
            using var image = pixels.ToImageSharpBgr24();
            var aves30 = image.GetChannelsAverage().ToList();

            aves30.Count.Is(3);
            aves30.Is(avesBase);
        }
コード例 #3
0
        public void FileLoadSave(string imagePath, string extension)
        {
            // 画像ファイルを Load -> Save -> Load して画素平均値を比較する
            using var bitmap0 = DrawingBitmapExtension.FromFile(imagePath);
            var baseAves = bitmap0.GetChannelsAverage().ToList();

            var savePath = GetTempFileName() + extension;

            try
            {
                using var container = bitmap0.ToImagePixelsContainer();
                container.Pixels.ToBmpFile(savePath);

                using var bitmap1 = DrawingBitmapExtension.FromFile(savePath);
                var newAves = bitmap1.GetChannelsAverage().ToList();
                newAves.Is(baseAves.Take(3));       // 3chに揃える
            }
            finally
            {
                System.IO.File.Delete(savePath);    // Dispose後に消す
            }
        }
コード例 #4
0
 public void GlobalSetup()
 {
     _drawingBitmap   = DrawingBitmapExtension.FromFile(_sourceBitmapPath);
     _writeableBitmap = _drawingBitmap.ToWriteableBitmap();
     _container       = new ImagePixelsContainer(_drawingBitmap.Width, _drawingBitmap.Height);
 }
コード例 #5
0
 public void DrawingBitmap_FromTiff()
 {
     var bitmap = DrawingBitmapExtension.FromFile(_tifPath);
 }
コード例 #6
0
 public void DrawingBitmap_FromPng()
 {
     var bitmap = DrawingBitmapExtension.FromFile(_pngPath);
 }
コード例 #7
0
 public void DrawingBitmap_FromBitmap()
 {
     var bitmap = DrawingBitmapExtension.FromFile(_bmpPath);
 }
コード例 #8
0
 public void DrawingBitmap_FromJpeg()
 {
     var bitmap = DrawingBitmapExtension.FromFile(_jpgPath);
 }
コード例 #9
0
        public void ToEachClasses()
        {
            // bmp から作成した DrawingBitmap を各クラスに変換して、画素平均値を比較する
            using var bitmap = DrawingBitmapExtension.FromFile(_sourceBitmapPath);
            var avesBase = bitmap.GetChannelsAverage().ToList();

            avesBase.Count.Is(3);

            // ToBitmapSource
            var bitmapSource0 = bitmap.ToBitmapSource1();
            var aves00        = bitmapSource0.GetChannelsAverage().ToList();

            aves00.Count.Is(4);
            aves00.Take(3).Is(avesBase);  // bitmapSourceは 4ch なので 3ch に揃えて比較

            var bitmapSource1 = bitmap.ToBitmapSource2();
            var aves01        = bitmapSource1.GetChannelsAverage().ToList();

            aves01.Count.Is(4);
            aves01.Take(3).Is(avesBase);  // bitmapSourceは 4ch なので 3ch に揃えて比較

            var bitmapSource2 = bitmap.ToBitmapSourceFast();
            var aves02        = bitmapSource2.GetChannelsAverage().ToList();

            aves02.Count.Is(4);
            aves02.Take(3).Is(avesBase);  // bitmapSourceは 4ch なので 3ch に揃えて比較

            // ToWriteableBitmap(BitmapSource)
            var writeable = bitmap.ToWriteableBitmap();
            var aves10    = writeable.GetChannelsAverage().ToList();

            aves10.Count.Is(3);
            aves10.Is(avesBase);

            bitmap.CopyToWriteableBitmap(writeable);
            var aves11 = writeable.GetChannelsAverage().ToList();

            aves11.Count.Is(3);
            aves11.Is(avesBase);

            // ToImagePixelsContainer
            using var container = bitmap.ToImagePixelsContainer();
            var pixels = container.Pixels;
            var aves20 = pixels.GetChannelsAverage().ToList();

            aves20.Count.Is(3);
            aves20.Is(avesBase);

            bitmap.CopyToImagePixels(ref pixels);
            var aves21 = pixels.GetChannelsAverage().ToList();

            aves21.Count.Is(3);
            aves21.Is(avesBase);

            // ToImageSharpBgr24
            using var image = bitmap.ToImageSharpBgr24();
            var aves30 = image.GetChannelsAverage().ToList();

            aves30.Count.Is(3);
            aves30.Is(avesBase);
        }
コード例 #10
0
 public void GlobalSetup()
 {
     _drawingBitmap = DrawingBitmapExtension.FromFile(_sourceBitmapPath);
     _bitmapSource  = BitmapSourceExtension.FromFile(_sourceBitmapPath);
 }