В общем вопрос в следующем. Как корректно перевести 16-битный цвет в 24-битный. Даже, скорее, вопрос не в этом. Мне нужно затемнить некий регион. Для 24-битного цвета все до смешного просто:
Result = Alpha * srcColor
где Alpha - коэфициент затемнения от 0 до 1, srcColor - исходный цвет.
А как это сделать для 16-битного цвета? В приницпе можно преводить 16-битный в 24-битный, проводить затемнение, а потом возвращать обратно в 16-битный... Этот вариант тоже подходит.