C#实现用户输入RGB值反转与浮点转换的技术问题
RGB颜色反转实验作业实现
我正在完成实验作业,目前已编写部分C#代码实现RGB值输入功能,代码如下:
using System; public class Assignment1A { public static void Main() { // 提示用户输入信息 Console.Write("请输入红色值(0-255):"); int red = Convert.ToInt32(Console.ReadLine()); Console.Write("请输入绿色值(0-255):"); int green = Convert.ToInt32(Console.ReadLine()); Console.Write("请输入蓝色值(0-255):"); int blue = Convert.ToInt32(Console.ReadLine()); // 反转数值部分待实现 } }
需要完成的任务
- a) 提示用户输入0-255范围内的三个RGB值
- b) 读取用户输入的数值
- c) 反转每个RGB数值(反转规则:
255 - 原始值) - d) 输出反转后的RGB结果
- e) 将反转后的整数值转换为0.0到1.0之间的浮点数(转换规则:
反转值 / 255.0) - f) 输出转换后的浮点结果
完整实现代码
using System; public class Assignment1A { public static void Main() { // 提示并读取用户输入的RGB值 Console.Write("请输入红色值(0-255):"); int red = Convert.ToInt32(Console.ReadLine()); Console.Write("请输入绿色值(0-255):"); int green = Convert.ToInt32(Console.ReadLine()); Console.Write("请输入蓝色值(0-255):"); int blue = Convert.ToInt32(Console.ReadLine()); // 计算反转后的RGB值 int invertedRed = 255 - red; int invertedGreen = 255 - green; int invertedBlue = 255 - blue; // 转换为0.0-1.0范围的浮点数 float floatRed = invertedRed / 255.0f; float floatGreen = invertedGreen / 255.0f; float floatBlue = invertedBlue / 255.0f; // 输出反转结果(保留整数) Console.WriteLine($"反转后的颜色值:red={invertedRed}, green={invertedGreen}, blue={invertedBlue}"); // 输出浮点结果(保留4位小数) Console.WriteLine($"转换为浮点数后:red={floatRed:F4}, green={floatGreen:F4}, blue={floatBlue:F4}"); } }
示例运行输出
请输入红色值(0-255):101
请输入绿色值(0-255):67
请输入蓝色值(0-255):33
反转后的颜色值:red=154, green=188, blue=222
转换为浮点数后:red=0.6039, green=0.7373, blue=0.8706
内容的提问来源于stack exchange,提问作者Sadaya Preston
相关产品推荐
相关产品推荐

