gpt4 book ai didi

java - 这种神秘的颜色方法有什么作用?它返回什么?

转载 作者:行者123 更新时间:2023-11-29 04:04:49 24 4
gpt4 key购买 nike

也许我喝了太多咖啡,也许我工作时间太长,不管怎样,我对这种方法的作用一无所知,或者更确切地说,它为什么以及如何作用,谁能摆脱一些照亮我?下一个颜色是什么?

public Color nextColor() {
int max = 0, min = 1000000000, cr = 0, cg = 0, cb = 0;
for (int r = 0; r < 256; r += 4) {
for (int g = 0; g < 256; g += 4) {
for (int b = 0; b < 256; b += 4) {
if (r + g + b < 256 || r + g + b > 512) {
continue;
}
min = 1000000000;
for (Color c : colorTable) {
int dred = r - c.getRed();
int dgreen = g - c.getGreen();
int dblue = b - c.getBlue();
int dif = dred * dred + dgreen * dgreen + dblue * dblue;
if (min > dif) {
min = dif;
}
}
if (max < min) {
max = min;
cr = r;
cg = g;
cb = b;
}
}
}
}

return new Color(cr, cg, cb, 0x90);
}

更新

感谢大家的回复。查看程序中该方法的上下文,很明显他们的意图确实是返回一个与现有颜色集“最远”的新颜色。

感谢 Sparr 提出 followup对于这个问题,我一定会根据您的建议重写上述内容。

我不是很了解 RGB 色标。知道上述方法的意图是检索一个“免费的”吗?将颜色更改为现有的一组颜色,将1中提供的解决方案在我们如何感知颜色的意义上实际上是互补的?有没有一种更简单的方法来选择一种颜色来补充这组颜色,或者 RGB 分量的数值分析实际上产生了合适的颜色?

最佳答案

看起来你有 colortable,它存储了一个颜色列表。

然后你有这个奇怪的硬编码色彩空间

Colors that have component which are a multiple of 4 and are "not too bright" but not "too dark either".

此功能似乎为您提供了后者中与您的颜色表“对比”最佳的颜色。

当我说对比度时,这是通过使用 2-范数选择尽可能远离颜色表的颜色来定义的。

关于java - 这种神秘的颜色方法有什么作用?它返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/589145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com