gpt4 book ai didi

c# - 如何将 Hex 转换为 RGB?

转载 作者:IT王子 更新时间:2023-10-29 04:41:30 24 4
gpt4 key购买 nike

我想用它来判断颜色是浅色还是深色

Evaluate whether a HEX value is dark or light

现在。它接受一个 int

 float calcLuminance(int rgb)
{
int r = (rgb & 0xff0000) >> 16;
int g = (rgb & 0xff00) >> 8;
int b = (rgb & 0xff);

return (r*0.299f + g*0.587f + b*0.114f) / 256;
}

虽然我有十六进制颜色。

我试过了

  var color = System.Drawing.ColorTranslator.FromHtml("#FFFFFF");
int rgb = color.R + color.G + color.B;
var a = calcLuminance(rgb);

我得到 0.11725 我认为它必须在 0-256 或类似的范围内。

我做错了什么?我是否必须将 R 转换为 int?还是我离题太远了?

最佳答案

只需将十六进制字符串转换为整数:

int color = Convert.ToInt32("FFFFFF", 16);

关于c# - 如何将 Hex 转换为 RGB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5735886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com