Mam 2 kolory
#a1a2a4
- czarny (
#000000
) - biały (
#ffffff
)
Teraz muszę wiedzieć, ile krycia (w procentach) muszę zastosować do drugiego koloru (czarny) na tle trzeciego koloru (biały), aby uzyskać kolor „najbliższy” (jak określa oko) do pierwszego kolor ( #a1a2a4
).
Jak mam to zrobić?
color
transparency
Pacerier
źródło
źródło
gray
który jest najbliższy tonowi określonemu kolorowi, prawda?Odpowiedzi:
Ten przypadek jest mniej więcej prosty (masz do czynienia z czarno-białym).
Po zastosowaniu koloru (# a1a2a4) sprawdź poziomy RGB:
Widać, że ma około 162 (średnio), a wiedząc, że może on wynosić od 0 do 255, wystarczy dowiedzieć się procent:
162 * 100/255 = ~ 63,5%
Teraz, ponieważ RGB działa w odwrotny sposób niż CMYK (pod względem mieszania kolorów, tzn. Pełny kolor oznacza biały, a pełny CMYK oznacza czarny), rzeczywisty procent w tym przypadku to różnica między 100% a wartością że mamy:
100–63,5 = 36,5%
Więc jeśli zastosujesz 36% krycia, będzie miał ten kolor, właśnie go przetestowałem.
Oczywiście w przypadkach z bardziej złożonymi kolorami ta metoda nie działa i nie wiem, jak uzyskać procent, zrobiłbym klasyczną próbę i błąd.
źródło
Pytanie, jeśli dobrze to rozumiem, brzmi: „Jak obliczyłbyś to programowo?” Prosta matematyka przekształca docelowy „kolor” na wartość alfa.
Biały == [1,1,1] lub #ffffff lub 255,255,255, w zależności od aplikacji. Czarny == [0,0,0] itd.
Więc: znormalizuj wartość docelową (w tym przypadku jest to .6314), odejmij od 1 i zastosuj do czarnej warstwy jako wartość alfa. Możesz zrobić to jeden kanał na raz i uśrednić wyniki, ale po co się tym przejmować, ponieważ twój kolor jest nie do odróżnienia (dla oka) od neutralnej szarości # a1a1a1. (Sprawa staje się bardziej złożona, jeśli widoczny jest odcień, ponieważ kanały będą miały różne wartości, ale obowiązuje ta sama zasada).
źródło
Nieco szybszy wariant prób i błędów:
Utwórz kolor heksadecymalny w Photoshopie w dokumencie CMYK i spójrz na wartości CMYK. Dostaję 39/32/31/1.
Utwórz dwie warstwy, górną czarną i dolną białą.
Podnieś okno informacyjne. Oddzielnie pociągnij okno Warstwy.
Graj z kryciem czarnej warstwy. Użyj kroplomierza nad kolorem i sprawdź w oknie informacyjnym, aby zobaczyć, jak blisko się zbliżasz. To głównie oszczędza czas zmiany krycia - spłaszcz - sprawdź kolor - cofnij spłaszczanie.
źródło
Biorąc pod uwagę kolory pierwszego planu i tła (jednolite wartości dla kanałów R, G i B), nie można uzyskać niejednorodnego koloru
#a1a2a4
poprzez zmianę krycia, ponieważ krycie wpływa na wszystkie kanały jednocześnie. Można jednak uzyskać kolor „wystarczająco blisko”#a1a1a1
, ustawiając krycie czerni na0.37
. Oto narzędzie, którego użyłem:http://colorizer.org/
#fff
#000
źródło
Znalezienie tego wzoru jest świetnym ćwiczeniem z algebry liniowej. Za pomocą RGB i algebry liniowej wymyśliłem tę macierz M. Jeśli chcesz połączyć RGBred = (237,32,36) i RGBblue = (60,84,165), gdzie dolna warstwa ma 100% krycia, a górna 50% nieprzezroczystość następnie pomnóż Mv, gdzie M jest macierzą poniżej, a v = (237,32,36,60,84,165). Otrzymujemy Mv = (157,777,71.444,107.444).
Rzeczywista wartość to (159,71,103), więc jesteśmy dość blisko, ale jest pewien błąd - prawdopodobnie albo dlatego, że użyłem zaokrąglonych wartości do obliczenia M i / lub ponieważ może nie używa RGB, ale inną skalę do obliczenia przezroczystości spłaszczenie. Prawdopodobnie mógłbym uzyskać dokładniejszą matrycę, stosując podejście typu najmniejszych kwadratów, ale byłem zbyt leniwy.
Macierz MI ma
źródło