Nie zapominaj, że nawet jeśli pracujesz z wartościami kolorów LAB, wartości RGB muszą być wyprowadzane, aby pokazać je na ekranie. W pewnym momencie musi powiedzieć czerwonym, zielonym i niebieskim pikselom ekranu, co ma robić.
Spójrz na to w kategoriach RGB, a przyczyna pasm jest właściwie dość prosta.
Chwyć próbnik kolorów i spójrz na gradienty, a zauważysz, że pasy znajdują się wokół punktów, w których zmienia się charakter gradientu:
- Na czerwono jest wokół, gdzie zmienia się od płynnego zwiększania R w RGB do dodawania G, który staje się żółty - około # FF0000 do # FF2500
- Na niebiesko jest tam, gdzie zmienia się od płynnego zwiększania B w RGB do dodawania G, aby stał się cyjanowy - około # 0000FF do # 0025FF
Podobnie jest z dolnymi wykresami, dodającymi kolor żółty do białego: są to zasadniczo trzy gradienty połączone. Na przykładzie czerwonego gradientu:
- to # 000000 do # FF0000 (zwiększenie jasności w kategoriach HSB, zwiększenie kanału czerwonego w RGB)
- następnie # FF0000 do # FFFF00 (zmiana odcienia w kategoriach HSB, zwiększenie zielonego kanału w RGB)
- następnie # FFFF00 do #FFFFFF (zmiana nasycenia w kategoriach HSB, zwiększenie kanału niebieskiego w RGB)
Więc zawsze będzie widoczne połączenie, jeśli tak jest skonfigurowane. Zgodnie z ogólną zasadą, w której dokładność i liniowość są głównym celem, najlepiej jest utrzymywać prosty gradient, stale zmieniając jedną cechę (chyba że chcesz pasmowania, np. W przypadku niektórych rodzajów skanowania mózgu).
To powiedziawszy , jeśli jesteś zdeterminowany, aby przejść przez szersze spektrum (wygląda dobrze), przyjrzałbym się albo zacząć dodawać drugi kanał, zanim pierwszy zostanie ukończony, tworząc sekcję łączącą gradienty lub mając lekko odwróconą krzywą kształtu S do prędkości dodawania drugiego kanału (prawdopodobnie oba).
Więc zamiast:
000000 do # FF0000, 100% czarnego do 100% czerwonego
FF0000 do # FFFF00, 100% czerwony do 100% żółty
FFFF00 do #FFFFFF, 100% żółty do 100% białego
... może być (tylko zgaduję, że trzeba będzie wyregulować):
000000 do # E90000, 100% czarnego do jasnoczerwonego
E90000 do # FF2500, (KRÓTKI MOST) jasnoczerwony (ciemny) do jasnoczerwonego (lekko pomarańczowy)
FF2500 do # FFE900, jasnoczerwony (lekko pomarańczowy) do jasnożółtego (lekko pomarańczowy)
FFE900 do # FFFF25, (KRÓTKI MOST) jasnożółty (lekko pomarańczowy) do jasnożółty (jasny)
FFFF25 do #FFFFFF, jasnożółty (jasny) do 100% białego
... następnie dopasuj krzywe każdej sekcji do gustu :-)
Edycja: Oto przykład sugestii „skracania narożników”. To nie jest idealne - jest dość nierafinowane, po prostu coś, co zestawiłem wzrokowo w ciągu kilku minut za pomocą narzędzia do mieszania programu Illustrator (niezmieszane obiekty na dole, aby pokazać punkty kolorów). Każdy segment gradientu między punktami koloru jest w 100% liniowy, podczas gdy prawdopodobnie chcesz czegoś bardziej zaokrąglonego - w rezultacie, jeśli przyjrzysz się uważnie, możesz dostrzec pasma.
Naturalnie wyniki różnią się między monitorami: na moim „dobrym” monitorze jest płynnie; na „złym” monitorze, którego używam do sprawdzania odporności obrazów internetowych (gdzie oryginalne paski nie pokazują się bardzo wyraźnie), pomarańcze zawsze wydają się stonowane, dzięki czemu czerwone i żółte ary wydają się jaśniejsze niż łączące się pomarańcze, nadmiernie podkreślając czerwony i żółte obszary - ale nadal widać, że „krawędź” oryginalnych pasm w dużej mierze zniknęła.
Tak czy inaczej, w porównaniu z oryginalnymi gradientami, wyraźnie widać różnicę. (jeśli chodzi o matematykę stojącą za tym - nie mam pojęcia, nie jestem matematykiem, ale mam nadzieję, że to pomoże zidentyfikować problem i rozwiązanie)
Inną zaletą jest to, że możesz swobodnie korzystać z wyraźniejszego przejścia w czarny> jeden kanał.
Lub ten sam pomysł na kostce kolorów RGB (wybacz grubiaństwo, ma on być demonstracyjny, niedokładny ...):
Pokazuje to prawdopodobnie wyraźniej, co miałem na myśli, gdy powiedziałem, że przykładowy gradient można poprawić, czyniąc przejścia z segmentów głównych do segmentów do cięcia pod kątem gładkimi, a nie kątowymi.