Jak utworzyć niestandardową paletę z niestandardowym kolorem dla aplikacji do projektowania materiałów?

Jak mogę wygenerować projekt niestandardowego materiału palety Jak Poniżej?

kolor pallete

Jest tu jakieś narzędzie?

Author: JJ86, 2015-02-13

9 answers

Wygląda na to, że ktoś poprosił o to w grafice: link tutaj .

Zaakceptowana odpowiedź doprowadzi Cię dostrony autora czyli tego, czego szukałem (narzędzia, które generuje Twoją paletę dla Ciebie , GG do niego!).

Również odpowiedź z najwyższym głosowaniem wyjaśnij bardzo dobrze, jak się robi palety, IMHO.

Obie zaspokoiły moją ciekawość.

Aktualizacja 22/06/2016

Jest nowa opcja dostępny teraz na ten link .

Aktualizacja 03/08/2016

Myślę, że ta odpowiedź i względna aplikacja również zasługują na wzmiankę.

Aktualizacja 07/04/17

Po 2 latach Big G wydał to narzędzie: https://material.io /.

 43
Author: JJ86,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:24

Dokładnie przeanalizowałem paletę kolorów Material Design i wyciągnąłem pewne wnioski.

W zalecanej przez Google palecie kolorów nie ma logiki programowej, jest ona absolutnie ręcznie robiona. Próbki zostały dobrane ręcznie przez projektanta, ale mają jakiś wzór. Pokrótce opowiem o tej magii.

Mamy Niestandardowy podstawowy kolor bazowy (indeks 500). Aby wygenerować niestandardową paletę, zmieszaj kolor podstawowy z białym (#FFFFFF) w stopniach koloru podstawowego: 12%, 30%, 50%, 70%, 85% (indeksy 50-400). Następnie wymieszaj kolor bazowy z jakimś "głębokim ciemnym kolorem" w kolorach bazowych zbliżonych do: 87%, 70%, 54%, 25%. W palecie kolorów materiału ten" głęboki ciemny kolor " jest wybierany ręcznie przez projektanta, ale obliczam ten kolor, mnożąc kolor bazowy dla siebie, o ile wynik ma akceptowalną różnicę kontrastu.

Dla kolorów podstawowych accent (index A200) należy użyć koloru w harmonii kolorów triad do koloru podstawowego (index 500). Inne kolory akcentu mają wysokie nasycenie (0,75

Zaimplementowałem tę logikę w darmowej aplikacji na Androida Material Palette Generator , która może tworzyć i demonstrować niestandardową paletę kolorów w rzeczywistym interfejsie aplikacji.

Zrzuty ekranu

 29
Author: Constantin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-28 01:44:09

Istnieje strona internetowa możesz użyć do wygenerowania palety materiałów projektowych.

Aby go najpierw użyć wybierz dwa kolory:

Paleta Materiałów

Następnie sprawdź sugerowaną paletę:

Twoja Paleta

 13
Author: MrEngineer13,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-15 16:02:13

Znalazłem, że tutaj można wygenerować paletę kolorów z całym kolorem akcentu (pominięty w oryginalnej odpowiedzi)

Paleta Kolorów

 5
Author: stalin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-14 12:50:22

Należy sprawdzić API palety , Dostarczone przez Google. Jest on zawarty w support library . Z tego, co zrozumiałem z twojego pytania, Ta biblioteka robi dokładnie to, czego szukasz.

 1
Author: ivtoto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-18 02:51:33

Jeśli używasz android studio, możesz znaleźć najbliższy kolor materiału danego koloru.

Tutaj wpisz opis obrazka

 1
Author: Jayakrishnan PM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-01 08:12:08

Jeśli chcesz próbkę kodu do tego, możesz użyć tego kodu:

public int[] GetMaterialColors(String color){
    int[] result = new int[14];

    result[0] = shadeColor(color, 0.9   ); //----> 50
    result[1] = shadeColor(color, 0.7   ); //----> 100
    result[2] = shadeColor(color, 0.5   ); //----> 200
    result[3] = shadeColor(color, 0.333 ); //----> 300
    result[4] = shadeColor(color, 0.166 ); //----> 400
    result[5] = shadeColor(color, 0     ); //----> 500
    result[6] = shadeColor(color, -0.125); //----> 600
    result[7] = shadeColor(color, -0.25 ); //----> 700
    result[8] = shadeColor(color, -0.375); //----> 800
    result[9] = shadeColor(color, -0.5  ); //----> 900

    result[10] = shadeColor(color, 0.7  ); //----> A100
    result[11] = shadeColor(color, 0.5  ); //----> A200
    result[12] = shadeColor(color, 0.166); //----> A400
    result[13] = shadeColor(color, -0.25); //----> A700

    return result;
}

private static int shadeColor(String color, double percent) {
    long f = Long.parseLong(color.substring(1), 16);
    double t = percent < 0 ? 0 : 255;
    double p = percent < 0 ? percent * -1 : percent;
    long R = f >> 16;
    long G = f >> 8 & 0x00FF;
    long B = f & 0x0000FF;
    int red = (int) (Math.round((t - R) * p) + R);
    int green = (int) (Math.round((t - G) * p) + G);
    int blue = (int) (Math.round((t - B) * p) + B);
    return Color.rgb(red, green, blue);
}
 0
Author: Mahdi Astanei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-12 13:48:12

Kompletne narzędzie do generowania pełnej palety z wartości szesnastkowej jest tworzone przez Mikel Bitson . Wystarczy kliknąć na jego nazwę, aby link do narzędzia.

 0
Author: Bill Bridge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-17 07:58:30

Oto narzędzie do stosowania palet kolorów do interfejsu użytkownika.

Material UI Color Tool

 0
Author: Arika Arnzen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-09 22:28:45