2017-01-31 9 views
0

Привет, у меня есть вопрос, я хочу знать фон изображения и определить, свет ли светлый или темный, проблема в том, что если фон темный, я хочу использовать белые изображения, и если фон прозрачен, я хочу использовать черные значки. Im, используя этот метод, чтобы определить, если фон темный или светлый:Разница между прозрачным и черным фоном в RGB

public static boolean isDark(float[] hsl) { // @Size(3) return hsl[2] < 0.8f; //Use 0.8f for a better precision }

Проблема заключается в том, что этот метод не может знать разницу между двумя фонами (темной или прозрачной)

ответ

0

Вам нужно использовать hsla, «a» - для альфы. Таким образом, вы можете проверить, прозрачен ли фон или нет. Вероятно, ваш метод, который преобразуется в hsl, игнорирует альфа-параметр.