Создать Класс: Цвет (модель RGB) - C#
Формулировка задачи:
По заданию нужно создать класса. представляющий цвет в модели rgb
Класс: Цвет (модель RGB)
Состояние (поля): красная, зеленая и синяя составляющие (значения — вещественные числа из
промежутка [0; 1])
Методы конструирования: создание цвета в модели RGB, создание цвета в модели CMY
Свойства: красная, зеленая, синяя, cyan, magenta, yellow составляющие
Операции: сложение и вычитание
Примечание: красная, зеленая и синяя составляющие цвета, заданного в модели RGB, и cyan,
magenta, yellow составляющие этого же цвета в модели CMY связаны соотношениями:
cyan = 1 – red;
magenta = 1 – green;
yellow = 1 – blue.
Вот мой код
Не могу понять, почему у меня не срабатывают проверки red = red < 0 ? 0 : (red > 1 ? 1 : value); и остальные,
если я задаю значения вне диапазона [0, 1], они и полям и присваиваются?
using System; namespace ColorRGB { class Program { static void Main(string[] args) { double red, green, blue, cyan, magenta, yellow; Console.WriteLine("Введите составляющие цвета в модели RGB: "); Console.Write("Red = "); red = Convert.ToDouble(Console.ReadLine()); Console.Write("Green = "); green = Convert.ToDouble(Console.ReadLine()); Console.Write("Blue = "); blue = Convert.ToDouble(Console.ReadLine()); var color1 = ColorRGB.ColorRGB_RGBModel(red, green, blue); Console.WriteLine("Цвет rgb ({0}, {1}, {2})", color1.Red, color1.Green, color1.Blue); //Console.WriteLine("Введите составляющие цвета в модели CMY: "); //Console.Write("Cyan = "); //cyan = Convert.ToDouble(Console.ReadLine()); //Console.Write("Magenta = "); //magenta = Convert.ToDouble(Console.ReadLine()); //Console.Write("Yellow = "); //yellow = Convert.ToDouble(Console.ReadLine()); //var color2 = ColorRGB.ColorRGB_CMYModel(cyan, magenta, yellow); //Console.WriteLine("Цвет cmy ({0}, {1}, {2})", color1.Cyan, color1.Magenta, color1.Yellow); Console.ReadKey(); } } public class ColorRGB { private ColorRGB(double _red, double _green, double _blue) { Red = _red; Green = _green; Blue = _blue; } public static ColorRGB ColorRGB_RGBModel(double _red, double _green, double _blue) { return new ColorRGB(_red, _green, _blue); } public static ColorRGB ColorRGB_CMYModel(double _cyan, double _magenta, double _yellow) { var _red = 1 - _cyan; var _green = 1 - _magenta; var _blue = 1 - _yellow; return new ColorRGB(_red, _green, _blue); } public double Red { get { return red; } private set { red = red < 0 ? 0 : (red > 1 ? 1 : value); } } public double Green { get { return green; } private set { green = green < 0 ? 0 : (green > 1 ? 1 : value); } } public double Blue { get { return blue; } private set { blue = blue < 0 ? 0 : (blue > 1 ? 1 : value); } } public double Cyan { get { return cyan; } private set { cyan = cyan < 0 ? 0 : (cyan > 1 ? 1 : value); } } public double Magenta { get { return magenta; } private set { magenta = magenta < 0 ? 0 : (magenta > 1 ? 1 : value); } } public double Yellow { get { return yellow; } private set { yellow = yellow < 0 ? 0 : (yellow > 1 ? 1 : value); } } private double red; private double green; private double blue; private double cyan; private double magenta; private double yellow; } }
Решение задачи: «Создать Класс: Цвет (модель RGB)»
textual
Листинг программы
red = red < 0 ? 0 : (red= red > 1 ? 1 : value);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д