예제 #1
0
        public void Test_Image_Size()
        {
            var plt = new ScottPlot.Plot(400, 300);

            var img = plt.AddImage(ScottPlot.DataGen.SampleImage(), 1, 9);

            img.X = 2;
            img.Y = 9;
            img.WidthInAxisUnits  = 1;
            img.HeightInAxisUnits = 4;
            img.Rotation          = 15;

            plt.SetAxisLimits(0, 10, 0, 10);
            var bmp1 = TestTools.GetLowQualityBitmap(plt);

            img.Scale = 2;
            var bmp2 = TestTools.GetLowQualityBitmap(plt);

            img.WidthInAxisUnits = 2;
            var bmp3 = TestTools.GetLowQualityBitmap(plt);

            // measure what changed
            //TestTools.SaveFig(bmp1, "1");
            //TestTools.SaveFig(bmp2, "2");
            //TestTools.SaveFig(bmp3, "3");
            var before     = new MeanPixel(bmp1);
            var after      = new MeanPixel(bmp2);
            var afterafter = new MeanPixel(bmp3);

            Assert.That(after.IsDarkerThan(before));
            Assert.That(afterafter.IsDarkerThan(after));
        }
예제 #2
0
        public void Test_ImageRotationAlignment_LowerRight()
        {
            var plt = new ScottPlot.Plot(400, 300);

            System.Drawing.Bitmap image = ScottPlot.DataGen.SampleImage();

            int[] rotations = { 0, 90, -90, 180 };
            for (int i = 0; i < rotations.Length; i++)
            {
                double x   = i / 2;
                double y   = i % 2;
                var    img = plt.AddImage(image, x, y);
                img.Rotation    = rotations[i];
                img.Alignment   = ScottPlot.Alignment.LowerRight;
                img.BorderColor = Color.LightGray;
                img.BorderSize  = 5;
                plt.AddPoint(x, y, Color.Red, size: 5);
            }
            plt.Title("ImageRotationAlignment.lowerRight");
            plt.AxisAuto(.5, .5);
            TestTools.SaveFig(plt);
        }
예제 #3
0
        public void Test_ImageScale()
        {
            var plt = new ScottPlot.Plot(800, 600);

            System.Drawing.Bitmap image = ScottPlot.DataGen.SampleImage();

            float[] scales = { 0.2f, 0.5f, 1f, 1.5f };
            for (int i = 0; i < scales.Length; i++)
            {
                double x   = i / 2;
                double y   = i % 2;
                var    img = plt.AddImage(image, x, y);
                img.Scale       = scales[i];
                img.Rotation    = 30;
                img.Alignment   = ScottPlot.Alignment.LowerRight;
                img.BorderColor = Color.LightGray;
                img.BorderSize  = 5;
                plt.AddPoint(x, y, Color.Red, size: 5);
            }
            plt.Title("ImageScale");
            plt.AxisAuto(.5, .5);
            TestTools.SaveFig(plt);
        }