Пример #1
0
        public void CloneTest1()
        {
            BitmapCloner target = new BitmapCloner();
            var          width  = 2;
            var          height = 2;

            using (var bitmap = new Bitmap(width, height))
            {
                long distance = long.MaxValue;
                var  actual   = target.Clone(bitmap, distance, 1);
                Assert.IsTrue(actual.Vectors.Any());
            }
        }
Пример #2
0
        public void CloneTest2()
        {
            BitmapCloner target = new BitmapCloner();
            var          width  = 2;
            var          height = 2;

            using (var bitmap = new Bitmap(width, height))
            {
                long expectedDistance = 0L;
                var  actual           = target.Clone(bitmap, expectedDistance, 1);
                var  actualDistance   = VectorDrawingGenetics.Instance.CalculateFitness(actual, bitmap);
                Assert.IsTrue(actualDistance <= expectedDistance);
            }
        }
Пример #3
0
        public void CloneTest3()
        {
            BitmapCloner target = new BitmapCloner();
            var          width  = 2;
            var          height = 2;

            using (var bitmap = new Bitmap(width, height))
            {
                using (var graphics = Graphics.FromImage(bitmap))
                {
                    graphics.DrawLine(Pens.Orange, new Point(0, 0), new Point(1, 1));
                }
                long expectedDistance = 512;
                var  actual           = target.Clone(bitmap, expectedDistance, 1);
                var  actualDistance   = VectorDrawingGenetics.Instance.CalculateFitness(actual, bitmap);
                Assert.IsTrue(actualDistance <= expectedDistance);
            }
        }
Пример #4
0
        public void CloneTest5()
        {
            BitmapCloner target   = new BitmapCloner();
            var          fileName = Path.Combine(testContextInstance.TestDeploymentDir, "smile.png");

            using (var bitmap = new Bitmap(fileName))
            {
                long expectedDistance = 1024 * 32;
                var  stopwatch        = Stopwatch.StartNew();
                var  actual           = target.Clone(bitmap, expectedDistance, 2);
                stopwatch.Stop();
                var actualDistance = VectorDrawingGenetics.Instance.CalculateFitness(actual, bitmap);
                Assert.IsTrue(actualDistance <= expectedDistance);
                using (var cloneBitmap = new Bitmap(bitmap.Width, bitmap.Height))
                {
                    using (var graphics = Graphics.FromImage(cloneBitmap))
                    {
                        GraphicsExtensions.RasterizeVectorDrawing(graphics, actual);
                    }
                    cloneBitmap.Save("smile.bmp", ImageFormat.Bmp);
                }
            }
        }