на каждую компоненту цвет в труколор приходится по одному байту. Итого 3 байта, или 4 если с прозрачностью. Маска 0xf0 равна 11110000 в бинарном представлении. После операции И все биты числа с цветом там где у маски были нули перавращаются в нуль, а где были единицы остаются как были. Получается что для каждого цвета остаётся всего 16 разных значений, т.е. происходит загрубление. Если взять маску где больше нулей, можно загрубить ещё сильнее.
Упрощённое объяснение: #324523, #344d2e - два разных цвета, после такой операции превратятся в #304020 и #304020, которые уже одинаковы. т.е. похожие цвета посчитаем вместе, а не по отдельности.
|