Программно осветлить или затемнить шестнадцатеричный цвет (или RGB, и смешать цвета)

@ddimitrov - правильный ответ. Помещенный в код выглядит следующим образом:

public <T> Class<T> testArray(T[] array) {
    return array.getClass().getComponentType();
}

. В более общем случае мы можем сначала проверить, видит ли тип массив, а , затем получает свой компонент:

Object maybeArray = ...
Class<?> clazz = maybeArray.getClass();
if (clazz.isArray()) {
    System.out.printf("Array of type %s", clazz.getComponentType());
} else {
    System.out.println("Not an array");
}

Конкретный пример применит этот метод к массиву, для которого уже известен тип компонента:

String[] arr = {"Daniel", "Chris", "Joseph"};
arr.getClass().getComponentType();              // => java.lang.String

Довольно просто!

440
задан Pimp Trizkit 20 January 2018 в 02:03
поделиться

1 ответ

Вот является супер простое одним лайнером на основе ответа Eric

function adjust(color, amount) {
    return '#' + color.replace(/^#/, '').replace(/../g, color => ('0'+Math.min(255, Math.max(0, parseInt(color, 16) + amount)).toString(16)).substr(-2));
}

Примеры:

adjust('#ffffff', -20) => "#ebebeb"
adjust('000000', 20) => "#141414"
7
ответ дан 22 November 2019 в 22:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: