public static void Main()
var rgb = new RGB(0xf8, 0x78, 0x40);
var yuv = ColorConverter.RgbToYuv(rgb);
var hsv = ColorConverter.RgbToHsv(rgb);
var hsvvstep = hsv.V / steps;
var rgbrgb = new RGB((byte)Math.Round(r), (byte)Math.Round(g), (byte)Math.Round(b));
var rgbyuv = ColorConverter.YuvToRgb(new YUV(y, u, v));
var rgbhsv = ColorConverter.HsvToRgb(new HSV(hsv.H, hsv.S, (byte)Math.Round(hsvv)));
Console.WriteLine("{0:x2}-{3:x2}-{6:x2}, {1:x2}-{4:x2}-{7:x2}, {2:x2}-{5:x2}-{8:x2}", rgbrgb.R, rgbrgb.G, rgbrgb.B, rgbyuv.R, rgbyuv.G, rgbyuv.B, rgbhsv.R, rgbhsv.G, rgbhsv.B);
for (int i = 0; i < steps; i++)
rgbrgb = new RGB((byte)Math.Round(r), (byte)Math.Round(g), (byte)Math.Round(b));
rgbyuv = ColorConverter.YuvToRgb(new YUV(y, u, v));
rgbhsv = ColorConverter.HsvToRgb(new HSV(hsv.H, hsv.S, (byte)Math.Round(hsvv)));
Console.WriteLine("{0:x2}-{3:x2}-{6:x2}, {1:x2}-{4:x2}-{7:x2}, {2:x2}-{5:x2}-{8:x2}", rgbrgb.R, rgbrgb.G, rgbrgb.B, rgbyuv.R, rgbyuv.G, rgbyuv.B, rgbhsv.R, rgbhsv.G, rgbhsv.B);