选择着色算法

Jef*_*rey 5 algorithm colors

我正在尝试生成一种颜色,可以根据当前对象的颜色将项目突出显示为"已选择".我已经尝试增加一些HSB值,但我无法想出一个通用的公式.特别是,使用白色时我遇到了问题(较亮的白色与常规白色看起来没什么不同).没有要求说我需要让它更亮,所以某种"逆"颜色也会很好用.是否有任何标准的算法或技术来做这样的事情(我猜是的,但我找不到 - 我不确定这是否有名字)?

谢谢,

杰夫

Mar*_*aux 3

也许负面影响:

伪:

int red = originalColor.red
int green = originalColor.green
int blue = originalColor.blue

int newRed = 255 - red
int newGreen = 255 - green
int newBlue = 255 - blue

Color negativeColor = new Color(newRed, newGreen, newBlue)
Run Code Online (Sandbox Code Playgroud)

或者添加蓝色效果:

int red = originalColor.red
int green = originalColor.green
int blue = originalColor.blue

int newRed = 255 - red
int newGreen = 255 - green
int newBlue = 255 - blue + 100
if newBlue > 255 {
   newBlue = 255
   newRed = newRed - 50
   newGreen = newGreen - 50
   if newRed < 0 {newRed = 0}
   if newGreen < 0 {newGreen = 0}
}

Color negativeColor = new Color(newRed, newGreen, newBlue)
Run Code Online (Sandbox Code Playgroud)

  • 与 (128, 128, 128) 的零对比度 (2认同)