颜色:如果背景为深色,则为白色;如果背景为浅色,则为黑色

发布于 2024-11-16 22:29:13 字数 136 浏览 2 评论 0原文

我在自定义标签中绘制一些文本。

用户可以修改标签背景,但控件应根据指定的背景来适应文本可见性。

因此,当背景为深色时,我想绘制白色前景文本,当背景为浅色时,我想要绘制黑色前景。

如何“理解”颜色是浅色还是深色?

I draw some text in a custom Label.

User can modify the label background, but the control shoud accomodate the text visibility in dependence of the specified background.

So, when the background is DARK I want to draw white foreground text, when its LIGHT I want BLACK foreground.

How to "understand" if the color is LIGHT or DARK?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

唯憾梦倾城 2024-11-23 22:29:13

一个简单的解决方案是添加背景颜色的颜色成分并将它们与阈值进行比较。

您可能想赋予蓝色较低的权重。 0.3*R+0.6*G+0.1*B 是常见的选择。

A simple solution is to add the color componets of the background color and compare them to a threshold.

You might want to give blue a lower weight. 0.3*R+0.6*G+0.1*B is a common choice.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文