Example #1
0
        private RgbArray GetTestRgbArray(int x = 256, int y = 256)
        {
            var rgbArray = new RgbArray(new Color[x][]);

            for (int i = 0; i < x; i++)
            {
                rgbArray.data[i] = new Color[y];
                for (int j = 0; j < y; j++)
                {
                    var magnitude = (int)((i / (float)x + j / (float)y) * 128);
                    rgbArray.data[i][j] = Color.FromArgb(magnitude, magnitude, magnitude);
                }
            }
            return(rgbArray);
        }
Example #2
0
        private static void SaveRGBArrayAsImage(RgbArray rgbArray, DirectoryInfo outputDir)
        {
            var width  = rgbArray.Width;
            var height = rgbArray.Height;

            using var image = new Image <Rgb24>(width, height);

            for (var x = 0; x < width; x++)
            {
                for (var y = 0; y < height; y++)
                {
                    var pixel = rgbArray.data[y][x];
                    image[x, y] = new Rgb24(pixel.R, pixel.G, pixel.B);
                }
            }

            using var stream = new FileStream(Path.Combine(outputDir.FullName, "output.jpg"), FileMode.OpenOrCreate, FileAccess.ReadWrite);
            image.SaveAsJpeg(stream);
        }