相关疑难解决方法(0)

如何根据背景颜色决定白色或黑色的字体颜色?

我想展示一些像这个例子的图像替代文字

填充颜​​色由数据库中的字段决定,颜色为十六进制(例如:ClassX - >颜色:#66FFFF).现在,我想用所选颜色显示填充上方的数据(如上图所示),但我需要知道颜色是暗还是浅,所以我知道这些单词应该是白色还是黑色.有办法吗?TKS

colors contrast

183
推荐指数
9
解决办法
5万
查看次数

根据背景使前景色为黑色或白色

比如计算rgb组件的平均值然后决定是使用黑色还是白色?

我是否必须在第一步将RGB转换为HSV,因为RGB并不总是人眼看到的?

我正在使用C#

c# colors

34
推荐指数
3
解决办法
1万
查看次数

给定背景颜色,如何获得使其在背景颜色上可读的前景色?

给定背景颜色,如何获得使其在背景颜色上可读的前景色?

我的意思是在程序中自动计算前景色.

或者简化问题,如果从白/黑中选择前景色,如何在程序中进行选择?

user-interface colors

24
推荐指数
3
解决办法
6130
查看次数

如何将Hex转换为RGB?

我试图用这个来弄清楚颜色是浅还是暗

评估HEX值是暗还是亮

现在.它需要一个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;
 }
Run Code Online (Sandbox Code Playgroud)

我有一个十六进制颜色.

我试着这样做

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

我得到0.11725我认为它必须在0-256之间或类似的东西.

我究竟做错了什么?我一定要隐蔽Rint?还是我离开了?

.net c# rgb hex colors

19
推荐指数
3
解决办法
3万
查看次数

如何根据字体颜色选择背景颜色以获得适当的对比度

我不太了解颜色组成,所以我想出了这个算法,它将根据试验错误基础上的字体颜色选择背景颜色:

public class BackgroundFromForegroundColorConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (!(value is Color))
            return value;
        Color color = (Color)value;
        if (color.R + color.G + color.B > 550)
            return new SolidColorBrush(Colors.Gray);
        else if (color.R + color.G + color.B > 400)
            return new SolidColorBrush(Colors.LightGray);
        else
            return new SolidColorBrush(Colors.White);
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}
Run Code Online (Sandbox Code Playgroud)

我做了一些谷歌搜索,但我没有找到任何非常正式的关于可以计算背景颜色的不同方式,以获得与字体颜色良好的对比效果.

所以我的问题是:是否有更"正式"的方法来选择良好的背景以获得良好的对比?或者,您将如何处理选择背景颜色,其唯一目的是使文本尽可能可读,无论其字体颜色如何?

快速更新

更多上下文:我只是想显示一些文本的预览(例如"快速的棕色狐狸跳过懒狗"),用户在那里选择字体颜色,重量,字体等.然而我对此感兴趣看看可以做些什么,无论是超级简单还是更复杂.

最后编辑

我决定采用所H.B.建议的:它似乎与我尝试的所有颜色都很好,不像我之前的算法,前景并不总是与背景正确对比.我很想知道是否有一个公式可以为给定前景提供"最佳"背景,但是对于我需要的黑/白工作就好了.这是我当前形式的代码: …

c# wpf fonts colors contrast

17
推荐指数
1
解决办法
9110
查看次数

标签 统计

colors ×5

c# ×3

contrast ×2

.net ×1

fonts ×1

hex ×1

rgb ×1

user-interface ×1

wpf ×1