Relacja Kolorów

0

Witam
Mam napis na czarno... potrzebuje zmienic jego kolor na niebieski. Tekst wyrenderowany zostal przy uzyciu anti aliasingu, tak wiec na okolo jest jasniejsza obwodka czarnego. Przez ten glupi anti aliasing nie moge po prostu uzyc wiaderka do wypelnienia, gdyz jasno czarna obwodka albo zostanie zupelnie wypelniona albo zostanie nie tknieta (uzywam paint.net).

Jestem gotow to zrobic nawet piksel po pikselu (bo to glownie rzedy powtarzajacych sie 'obwodek')... tylko jak to sobie przeliczyc?
np bazowy czarny to #231F20, a obwodka obok to #DADADA
chce go zmienic na #234792 ... jakiego koloru bedzie obwodka?

Probowalem w powyzszych wartosciach rgb odejmowac od siebie skladowe. Np skladowa B to by byla DA - 20 co da roznice BA
ale wowczas jesli mamy skladowa B nowego koloru 92 to 92 + BA daje 14C, przy czym max jest tylko FF. Jesli ogranicze sie do max'a uzyskany kolor zdecydowanie wyglada zle, wiec zgaduje, ze tak sie tego nie przelicza.

Jakis dobry grafik mi pomoze? A jakby ktos jeszcze wytlumaczyl mi 'teorie kolorow' to byloby super. Nigdy nic nie robilem z grafika i przyznam, ze troche zaciekawil mnie temat matematycznej relacji kolorow.

*Wrzucam to jako offtopic, bo do programowania sie nie nadaje, do software'u tez... a w sumie to taka bardziej offtopikowa ciekawostka.

0

w photoshopie to zrobisz jednym kliknięciem
ściągnij jakiegoś triala

gimp też powinien dać radę

ewentualnie jeśli naprawdę chcesz napisać do tego program / skrypt to normalnie liczysz wiedząc że kolor jest wyliczany zazwyczaj ze wzoru

kolor wyjściowy = [r1, g1, b1] * (1 - alpha) + [r2, g2, b2] * alpha
są 4 niewiadome - r1, g1, b1 (kolor który był pod spodem) i alpha

przyjmując alpha 0.5 wyszłoby:

[x.r, x.g, x.b] * 0.5 = [218, 218, 218] - 0.5[35, 31, 32]
[x.r, x.g, x.b] = [400, 405, 404]

czyli alpha była mniejsza bo kolor wyszedł poza przedziałem 0-255

dla alpha 0.1 wychodzi:

[x.r, x.g, x.b] * 0.9 = [218, 218, 218] - 0.1[35, 31, 32]
[x.r, x.g, x.b] = [238, 239, 239]

teraz można przyjmując tę alphę i ten kolor podkładu zmienić kolor na #234792 [35, 71, 146]

[238, 239, 239] * 0.9 + [35, 71, 146] * 0.1 = [218, 222, 230]

czyli obwódka może mieć kolor #DADEE6

jakby można było wyliczyć dokładnie zmienną alphę i zmienny kolor podkładu to byłyby programy idealnie usuwające skomplikowane znaki wodne, a z tego co wiem takie nie istnieją

0

Zamiast bawić się w RGB można to zrobić dość prosto w przestrzeni HSV/HSB.

0

Użyj Photoyebatora, w nim to zrobisz przesuwając Slider83 i klikając Button47 na Form62.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.