Android会发现颜色是否太接近黑色或白色

时间:2015-08-26 23:18:18

标签: android colors

我有一个颜色的int表示。我想要做的是如果这个颜色太黑或太白,我想将背景设置为默认颜色。我想找到颜色是否太接近黑色或白色使用RGB或HSV表示是好的。由于太黑或太白,我的意思是说我可以根据比例设置一些阈值。假设有一个从0到1的刻度,其中0是黑色,1是白色,我想拒绝低于0.2和高于0.8的所有颜色。我尝试了下面的代码,但它实际上不起作用。这不起作用,因为我看到一些其他颜色也被拒绝,不是黑色或白色的阴影。请帮忙。

public static boolean isWhitish(int color) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    return hsv[2] > 0.8;
}

1 个答案:

答案 0 :(得分:0)

首先,您需要获得颜色的HEX CODE,然后您可以使用this solution来提取该颜色的亮度。

然后,您可以使用(brightness < .2 || brightness > .8)来决定下一步该做什么。

希望这会有所帮助,祝你好运: - )