计算与背景和前景不同的颜色

时间:2013-06-20 16:41:36

标签: algorithm user-interface colors

请看下面的图片

enter image description here

我指定了三种颜色:背景,前景和框架。他们看起来对我很好。用户只能更改背景和前景色。如何自动计算框架颜色,并确保它与背景颜色和前景颜色不同(如果这种颜色看起来不太可能会很棒)。

修改

将给定颜色视为默认颜色架构。因此,默认情况下使用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 个答案:

答案 0 :(得分:0)

你确定这张照片必然会有这种形状吗?如果是,则只需要抓住左上角(第一个像素)和中心像素的像素颜色,以获得背景(第一个像素)和前景(中心像素)的颜色。然后,您可以计算它们之间的平均值,这将为您提供不同的颜色。如果它们在它们之间相似,则“平均”颜色可能与其他两种非常相似。如果是这种情况,你可以做一些其他操作。