【问题标题】: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。图片只是为了形象化。

【问题讨论】:

    标签: algorithm user-interface colors


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      • 2010-10-03
      • 1970-01-01
      • 2020-04-04
      • 2023-03-18
      • 2022-11-24
      • 2018-11-18
      相关资源
      最近更新 更多