У меня есть приложение WTL C ++, и я хочу, чтобы пользователь мог выбирать разные цвета для некоторых элементов пользовательского интерфейса и применять градиентную заливку с помощью вызова API GradientFill
. Однако вместо того, чтобы позволить пользователю выбирать начальный и конечный цвета для градиента, я бы хотел, чтобы они могли выбирать «базовый» цвет и для моего приложения автоматически рассчитывать подходящие начальные / конечные цвета. Я хочу закончить с заливкой, которая похожа на ту, которую Windows использует для различных тематических элементов. Базовый цвет может быть «средним» цветом градиента, так как мое приложение вычисляет немного более светлый цвет для начала градиента и немного более темный цвет для конца градиента. В качестве альтернативы я мог бы использовать основание в качестве начального цвета и вычислить конец или наоборот.
Я уверен, что это было бы относительно легко с некоторой макро-магией RGB, но я действительно не знаю, с чего начать. Любые идеи приветствуются.