public void TestFrequencyImg() { var rng = new UniformRNG(0); int[] bucket = new int[100]; const int xExtent = 100; const int yExtent = 200; using (var file = File.OpenWrite(Path.Combine(RootDir, "rng_frequency.bmp"))) using (var image = new Image <SixLabors.ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent)) { for (int i = 0; i < 10000; ++i) { bucket[rng.Uniform(0, xExtent)]++; } for (int i = 0; i < xExtent; ++i) { for (int j = 0; j < bucket[i]; ++j) { image[i, yExtent - j - 1] = new SixLabors.ImageSharp.PixelFormats.Rgb24(0xFF, 0x69, 0xB4); } } image.SaveAsBmp(file); } }
public void TestUniform() { var rng = new UniformRNG(0); var i1 = rng.Uniform(1, 2); Assert.Equal(1, i1); var i2 = rng.Uniform(1U, 2U); Assert.Equal(1U, i2); var i3 = rng.Uniform(1.0f, 1.0f); Assert.Equal(1.0f, i3); var i4 = rng.Uniform(1.0, 1.0); Assert.Equal(1.0, i4); }
public void TestIntNoiseImg() { var rng = new UniformRNG(0); const int xExtent = 100; const int yExtent = 100; using (var file = File.OpenWrite(Path.Combine(RootDir, "rng_int_noise.bmp"))) using (var image = new Image <SixLabors.ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent)) { for (int i = 0; i < xExtent; ++i) { for (int j = 0; j < yExtent; ++j) { var color = (byte)rng.Uniform(0, 255); image[i, j] = new SixLabors.ImageSharp.PixelFormats.Rgb24(color, color, color); } } image.SaveAsBmp(file); } }