Необходимо генерировать десяток-другой цветов по данному цвету так, чтобы они были на нем достаточно читабельны, но не вырвиглазны. Это для расцветки ников в конференциях по хешу, например.
Решение: смотрим на
upload.wikimedia.org , переходим в HSV, фиксируем S и V как у фона (возможно, увеличивая в некоторое число раз), и берем H из диапазона этак 50-150 градусов с каждой стороны. Суммарно получаем допустимую ширину 200 градусов, и если для различения цветов между собой нужно этак 20 градусов, то это уже 10 цветов, а 20 градусов — дохрена. Можно еще в два раза уже полоску цвета сделать.
Дискасс.