2

看下图

在此处输入图像描述

我指定了三种颜色:背景、前景和框架。他们在我看来还不错。用户只能更改背景和前景色。如何自动计算框架颜色并确保它与背景和前景色不同(如果这种颜色看起来不太糟糕,那就太好了)。

编辑

将给定的颜色视为默认颜色模式。因此,默认使用 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。图片只是为了形象化。

4

1 回答 1

0

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

于 2013-06-20T17:01:57.007 回答