计算不同于背景和前景的颜色
Posted
技术标签:
【中文标题】计算不同于背景和前景的颜色【英文标题】:Calculate color that differs from background and foreground 【发布时间】:2013-06-17 15:14:58 【问题描述】:看下图
我指定了三种颜色:背景、前景和边框。他们在我看来还不错。用户只能更改背景和前景色。如何自动计算框架颜色并确保它不同于背景颜色和前景色(如果这种颜色看起来不会太糟糕那就太好了)。
编辑
将给定的颜色视为默认颜色架构。因此,默认使用 3 种硬编码颜色。但是,用户可以设置自定义背景和/或前景色。因此,即使默认背景/前景色的帧颜色已知,也应该为用户能够指定的所有自定义背景/前景色自动计算。
常量:
bkg_color
- 默认背景颜色
frg_color
- 默认前景色
frame_color
- 默认框架颜色
输入:
custom_bkg_color
- 自定义背景颜色
custom_frg_color
- 自定义前景色
输出:
custom_frame_color =
f(bkg_color, frg_color, frame_color, custom_bkg_color, custom_frg_color)
颜色是 24 位 RGB。图片只是为了形象化。
【问题讨论】:
【参考方案1】:你确定图片一定是那个形状吗?如果是,那么您只需要获取左上角(第一个像素)和中心像素的像素颜色即可获得背景(第一个像素)和前景(中心像素)的颜色。然后你可以例如计算它们之间的平均值,这会给你一个不同的颜色。如果它们之间相似,则“平均”颜色可能与其他两种颜色非常相似。如果是这种情况,你可以做一些其他的操作。
【讨论】:
以上是关于计算不同于背景和前景的颜色的主要内容,如果未能解决你的问题,请参考以下文章