Açıklamak algoritma temelde: "Bir renk iki RGB bileşenden oluşur güçlü RGB bileşeni S olalım ve diğer bileşen O. Eğer S (255) olsun ve O 0-255 arasında değişmektedir 255 varyasyonları oluşturun.."
Örneğin Aşağıdaki örnek aynı sonucu verim:
a) rgb(0,100,200)
b) rgb(0,199,200)
c) rgb(0,254,255)
d) rgb(0,1,2)
Result: rgb(0,[0-255],255)
Bu, sadece 6 varyasyonları var demektir.
- Kırmızı büyük bileşeni, Yeşil sonraki en büyük => rgb olan (255, [0-255], 0)
- Kırmızı büyük Mavi sonraki en büyük => rgb bileşeni, (255,0, [0-255]) 'dir
- Yeşil büyük bileşeni, Kırmızı sonraki en büyük => rgb ([0-255], 255,0) olduğu
- Yeşil büyük bileşeni, Mavi sonraki en büyük => rgb ([0-255], 0255) olduğu
- Mavi Kırmızı sonraki en büyük => rgb büyük bileşeni, ([0-255], 0255) olduğu
- Mavi yeşil sonraki en => RGB en büyük bileşen, (0, [0-255], 255)
Lütfen algoritmanın niyeti belli değil, ben senin kullanım durumda size açıklamak ne aslında farklı olduğunu tahmin ediyorum. Bu 1 veya 3 ya da bileşenlerinin (aslında çoğu renk) ile renkleri işlemez.
Amacınız (belli bir mesafe örneğin renk) benzer renkleri bulmak için ise daha iyi bir yaklaşım vardır. Örneğin bir HSV renk uzayında (Hue, Saturation, Value) için renkleri dönüştürmek ve daha sonra da bileşenleri H, S veya V + / eğer renk benzer olduğunu söyleyebiliriz - Orijinalinizden 10 adım.
Örneğin:
rgb (255,100,0) => HSV (24100100)
Sizin aralık sonra HSV olduğunu ([14-34], [90-110], [90-110])