Beispiel #1
0
        void PlotColorspaces(Workingspace mode, float a, float b, float z)
        {
            var c = new ExecutionContext();

            c.UseFloatspace(mode, a, b, z);

            int width  = 300;
            int height = 300;

            using (c)
                using (Bitmap bmp = new Bitmap(width, height))
                    using (Graphics g = Graphics.FromImage(bmp)){
                        int x_axis = 280;
                        int y_axis = 20;

                        for (int i = 0; i < 256; i++)
                        {
                            byte  srgb       = (byte)Math.Min(255, Math.Max(0, i));
                            float floatspace = (((float)i) / 255.0f);

                            bmp.SetPixel(y_axis + i, x_axis - c.FloatspaceToByte(floatspace), Color.Blue);
                            bmp.SetPixel(y_axis + i, x_axis - Math.Min(255, Math.Max(0, (int)(255.0f * c.ByteToFloatspace(srgb)))), Color.Red);
                        }
                        g.DrawLine(Pens.Gray, y_axis, x_axis, y_axis + 255, x_axis - 255);
                        bmp.Save(String.Format(root + "Tests\\ImageResizer.Plugins.FastScaling.Tests\\PlotColorSpace{0}, {1}, {2}, {3}.png", mode, a, b, z));
                    }
        }
Beispiel #2
0
 public void TestColorspaceEnumParsing(string name, Workingspace value)
 {
     Assert.Equal(ImageResizer.ExtensionMethods.EnumExtensions.Parse <Workingspace>(name), value);
 }