您好我有一个问题,我想知道图像的背景并确定背景是亮还是暗,问题是如果背景很暗我想使用白色图像,如果背景是透明我想用黑色图标。我使用这种方法来确定背景是暗还是亮:
public static boolean isDark(float[] hsl) { // @Size(3)
return hsl[2] < 0.8f; //Use 0.8f for a better precision
}
问题是这种方法无法知道两种背景(黑暗或透明)之间的区别
答案 0 :(得分:0)
你需要使用hsla,&#34; a&#34;是为了阿尔法。这样您就可以检查背景是否透明。可能你转换为hsl的方法忽略了alpha参数。