private static void SetPixels(Matrix matrix, double[,] a, double[,] b, double[,] c, PixelFormat format, int yOffset, int xOffset) { var height = a.GetLength(0); var width = a.GetLength(1); for (var y = 0; y < height; y++) { for (var x = 0; x < width; x++) { matrix.Pixels[yOffset + y, xOffset + x] = new Pixel(a[y, x], b[y, x], c[y, x], format); } } }
public Pixel(double firstComponent, double secondComponent, double thirdComponent, PixelFormat pixelFormat) { if (!new[] { PixelFormat.RGB, PixelFormat.YCbCr }.Contains(pixelFormat)) { throw new FormatException("Unknown pixel format: " + pixelFormat); } format = pixelFormat; if (pixelFormat == PixelFormat.RGB) { r = firstComponent; g = secondComponent; b = thirdComponent; } if (pixelFormat == PixelFormat.YCbCr) { y = firstComponent; cb = secondComponent; cr = thirdComponent; } }