Название: Color is dark? Отправлено: Azazello от Сентябрь 13, 2019, 15:29 Люблю Qt, особенно когда его трассирую.
Задача проста: выделить текст на фоне. Как? Фон изменяется: яркий - текст черным, темным - текст белый. Самое интересное - QLabel это умеет. Я не перекладываю задачу - но разбор Qt либ по кирпичикам завезло в тупик, пытался. Не, если задасться целью, то конечно...... Да. Есть формула, которая расчитывает, но она не учитывает альфа канал. Простите за сумбурность. Подитожу: Вход QColor с альфа каналом, выход темный цвет или светлый. Если сложно изъясняюсь, нужна функция: bool isDarkColor(const QColor&) Название: Re: Color is dark? Отправлено: Old от Сентябрь 13, 2019, 15:37 Попробуйте посмотреть на цвет в разных цветовых моделях.
Название: Re: Color is dark? Отправлено: Igors от Сентябрь 13, 2019, 15:57 Подитожу: Вход QColor с альфа каналом, выход темный цвет или светлый. Почему бы не попробовать банальный перевод в greyscale (коэффициенты примерно такие)Если сложно изъясняюсь, нужна функция: bool isDarkColor(const QColor&) grey = red * 0.32 + green * 0.57 + blue * 0.11 если grey > 0.5, то светлый. С альфой исходные RGB должны быть пересчитаны с учетом цвета подложки (background) |