【问题标题】:How to check RGB color and How do I know if this Range is green or red?如何检查 RGB 颜色以及如何知道此范围是绿色还是红色?
【发布时间】:2020-10-14 09:50:56
【问题描述】:
string greenImage = @"C:\Users\keti.p\Desktop\greenImage.jpg";
Bitmap bitMap = new Bitmap(greenImage);
int width = maxWidth / 2;
int height = maxHeight / 2;
Color c = bitMap.GetPixel(width, height);

Color color = Color.FromArgb(c.R, c.G, c.B);

我有这个“颜色”对象,

例如,这个颜色是绿色吗?或者它是红色的?要么? 多么绿色的游侠..

【问题讨论】:

  • 请参阅wiki。 RGB 不适用于此类任务,因此通常您会将 convert 转换为 HSV,进行计算,如果您想更改某些内容,然后再转换回 RGB。
  • This 应该有帮助..
  • 您是否要求查找颜色是否为红色/绿色/等。还是将所有颜色拆分为不同的主色 区域? (第一个:您不会对中间色进行分类,例如粉红色)。注意:没有确切的解决方案:某些颜色对于某些人来说是“红色”,而对于其他人来说是“绝对不是红色”,因此您还应该指定什么是您的“足够好”。

标签: c# colors rgb


【解决方案1】:

您想使用Color 类型的GetHue HSL 方法检查颜色的色调:

Color a = Color.Red;
Console.WriteLine(a.GetHue()); // 0
Color b = Color.Green;
Console.WriteLine(b.GetHue()); // 120

我认为这些数字应该与这张图表相对应:

Image source

【讨论】:

    猜你喜欢
    • 2021-01-16
    • 2011-09-22
    • 1970-01-01
    • 2019-01-12
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 2022-12-06
    相关资源
    最近更新 更多