Должен ли текст быть цветом, полученным из цвета фона?Что если он просто чередуется между белым и черным в зависимости от интенсивности RGB?Идея в том, что белый всегда будет виден на значениях rgb ниже определенной интенсивности, а черный - на остальных.
У меня нет рабочего алгоритма, которым можно поделиться, но вы можете попробовать что-то вроде:
int threshold = 50;
if(r < threshold && g < threshold && b < threshold) {
// set your font color to white
} else {
// set your font color to black
}
Возможно, вам придется немного поиграться с порогом, чтобы получить что-то красивое.Вы также можете немного подкрасить шрифт, основываясь на том, какое значение rgb является доминирующим.