我正在尝试生成一种颜色,该颜色可以根据当前对象的颜色将项目突出显示为“已选中”。我试过增加一些 HSB 值,但我想不出一个通用的公式。特别是,我在处理白色时遇到了问题(更亮的白色看起来与普通白色没有太大区别)。没有要求说我需要让它更亮,所以某种“反色”颜色也能很好地工作。是否有任何标准算法或技术可用于执行此类操作(我猜是的,但我找不到 - 我不确定是否有此名称)?
谢谢,
杰夫
最佳答案
也许负面影响:
伪:
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)
或者添加蓝色效果:
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)
关于algorithm - 选择着色算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1511142/