将整数映射到深色

Chr*_*ett 2 java random swing jtable colors

我想知道如何将整数映射到颜色,但这样做是为了使序列对颜色没有太大影响(虽然它确实无关紧要),并且还要将相同的数字插入到反复使用的功能会产生相同的颜色.

它适用于JTable,并对表的行着色以突出显示具有相同ID的类似行.存储任何元数据意味着许多混乱和低效率,我想避免.

基本上,id f(x)->c for all x in the positive range of integers such that f(x)->c1, f(x+1)->c2, c1 !~ c2在哪里x,c结果是颜色.我曾考虑过使用Random,但这会根据生成数字的顺序而改变.如果没有添加顺序,那就没关系.

我忘了提一下,颜色应该是暗的,以便白色文字能够正确显示.

干杯,
克里斯

mar*_*cog 5

使用哈希函数从整数计算RGB分量.如果您使用每个组件通常的1个字节,则生成3个字节的哈希值.任何合适的哈希值都将确保类似的输入将导致不相似的哈希值.

为了确保颜色足够深,您可以在每个颜色分量中将其中一个位(例如第5个)固定为1.或者你可以使用HSB方案,修复黑暗等级.