Преобразовать в HSV, затем изменить угол наклона на 180 ° ± 30 ° или около того.
Преобразования в HSV распространены и их легко получить. Но вам просто нужен угловой бит, отрегулируйте его с помощью дополнения, а затем с помощью разделения и передачи этой присоски обратно в RGB.
rgb2hsv(r,g,b);
h += 180;
h0 = h + 30;
h1 = h - 30;
hsv2rgb(h0,s,v);
hsv2rgb(h1,s,v);
Больше или меньше. Возьмите rgb2hsv и hsv2rgb из chroma.js или любой другой кодовой базы. Или возьмите копии обоих и смешайте их вместе с тем, что вам нужно, и сделайте одну функцию, чтобы сделать это.