1. Для каждого цвета определить положение [0,1] в цветовом континууме. Простейший вариант — вычленить наиболее значимый канал (например, зелёный) → ограничить «крайними» значениями → (возможно) преобразовать в линейное цветовое пространство (сначала [0,255] в [0,1], затем x1/2,2) → провести линейное преобразование.
2. Провести нелинейное преобразование этого [0,1] → [0,1], если надо.
3. Преобразовать этот [0,1] в другой континуум. Если работали в линейном цветовом пространстве — преобразовать снова в sRGB, если надо.