相关疑难解决方法(0)

如何在Asp.net中使用HSL

在.net中使用哪些工具处理HSL颜色?

.net hsl rgb colors

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

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

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

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
查看次数

Qt StyleSheet系统使QPalette无效;如何使他们一起工作?

我在一个项目中有一个QwtPlot,我想以一种和谐的方式配置它的颜色-例如,如果背景颜色是白色,则轴应该是黑色,等等。现在,我可以在“硬编码方式”:每次更改背景颜色(参考值)时,我都会查看该轴先前定义的颜色的数组,并在该轴上为数组设置给定的颜色。但这是“过时的”,我想采用一种更自动化的方式。

在这里寻求帮助时,Uwe告诉我使用QwtPlot::setPalette(color)它,它本身效果很好。问题是QwtPlot是一系列基于QWidget的小部件的子代,其颜色应在全局样式表文件中配置,我注意到当配置了其中一个小部件的样式表时,QwtPlot的调用无效setPalette。好像我应该在它们之间进行选择:如果我要setPalette在给定的小部件中使用至少一个调用,那么直到主小部件(在我的情况下为QMainWindow)之前,其父级都不应该配置以下样式:工作表系统。这似乎是文档的这一部分setPalette所说的:

警告:不要在使用Qt样式表结合使用此功能(

,但似乎只有在全局调用时才应该是这种情况setPalette

所以我的问题是:有没有办法和谐地解决这个问题?还是我需要放弃该软件那部分的样式表系统,而只使用调色板?我试图以一种更加“本地化”的方式来制作样式表配置-试图对系统说“此样式表配置仅对此窗口小部件有效;不要将其永久保留给其子窗口小部件”,但没有成功。如果确实可行(因此我可能选择了错误的语法),我想知道。

qt stylesheet palette

5
推荐指数
1
解决办法
1813
查看次数

屏幕颜色反转如何在OS X中工作?

这就是OS X内置的颜色反转功能可以将您的屏幕转换为:

在此输入图像描述

它可以反转所有颜色,将它们变为灰度,调整对比度.现在我想构建自己的实现,因此需要专业人士的建议.

无法捕获倒置屏幕让我觉得反转是一种调整层,它位于所有窗口之上,并且不会暴露于交互事件.是这样吗?它是通过OpenGL库完成的吗?

我不是关注实际的编码帮助,而是研究解决问题的设计/方法.在我的目标应用程序中,我需要定义输出颜色diapasons并应用颜色转换规则(input => output).

提前致谢.

cocoa objective-c colortransform

4
推荐指数
2
解决办法
1678
查看次数

根据控件的背景颜色更改控件的文本颜色

我有一个TextBox颜色作为其背景颜色和文本中的背景颜色代码.我已将文字颜色设置为Black.

问题是如果用户将颜色设置为Black那么颜色代码将是不可读的.如何以编程方式设置文本颜色,以便在用户选择任何颜色时它变得可读?

.net c# vb.net

2
推荐指数
1
解决办法
1855
查看次数

C#为标签获得良好的颜色

我在Windows窗体应用程序中背景的颜色是随机的。现在我要显示一个标签。

但是,当随机颜色为白色且标签也为黑色时,则标签不可见。

如何获得完美的颜色,背景颜色可见(我的backgroundcolor是System.Drawing.Color中的随机颜色)

c# forms windows drawing colors

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

标签 统计

c# ×3

colors ×3

.net ×2

cocoa ×1

colortransform ×1

contrast ×1

drawing ×1

fonts ×1

forms ×1

hsl ×1

objective-c ×1

palette ×1

qt ×1

rgb ×1

stylesheet ×1

vb.net ×1

windows ×1

wpf ×1