【发布时间】:2020-08-10 03:01:47
【问题描述】:
我有一个 Collection of Integers 的处理颜色(它包含重新缩放为 1x1 以获得“平均”颜色的图像颜色)。
我有这个东西必须检索我最近的数组颜色:
public static int getNearestColor(Collection<Integer> colors, int color) {
return colors.stream()
.min(Comparator.comparingInt(i -> Math.abs(i - color)))
.orElseThrow(() -> new NoSuchElementException("No value present"));
}
但是当我这样做时,它返回的颜色比输入远,但数组包含一些比输入最近的颜色,this是我不明白的问题吗?
【问题讨论】:
-
以编程方式..你想要一个数组中的数字..它等于或最接近颜色参数的数量?对吗?
-
是的,不,处理中的颜色是整数但奇怪的整数,否则我的功能会起作用
-
但是您的代码返回的是最小差异,而不是具有最小差异的实际颜色。
-
哦那我应该写什么才能返回具有最小差异的实际颜色?
-
@JoakimDanielson 抱歉,我不明白它应该如何帮助我?
标签: java arrays colors processing