Русский
Русский
English
Статистика
Реклама

Цвета

Перевод Теория цвета как основа для дизайна и иллюстрации

22.04.2021 16:18:43 | Автор: admin

Цвета присутствуют во всем, выражаясь во множестве оттенков, градиентов и комбинаций. Если повнимательнее рассмотреть окружающий нас мир, то можно удивиться, насколько большим разнообразием цветов и оттенков он наполнен. В то время как некоторые из них непосредственно вызывают в нас приятные чувства, существуют также и уникальные цветовые смеси, оказывающее заметное влияние на человеческие эмоции. А для лучшего понимания всех этих особенностей, необходимо знать теорию цвета.

Для дизайнеров эта теория является руководящим принципом, определяющим восприятие и, в частности, применение цветов. Что в живописи, что в дизайне, что в иллюстрации, цвета имеют первостепенное значение. Для эффективного их использования важно быть знакомым с такими понятиями, как комплиментарные (дополнительные) цвета, сплит-комплиментарные и триадические. Все их усвоить можно, опять же, исходя из теории цвета. Дизайнеры зачастую опираются на нее и цветовой круг при выборе подходящих цветовых смесей, способных передать посыл и эмоции бренда или людей.

Независимо от того, работаете ли вы профессиональным дизайнером или иллюстратором, а может просто увлекаетесь живописью, чем больше вы знаете о теории цвета, тем лучших результатов достигаете. С ее помощью можно получить ответы на ряд важнейших вопросов, например какие цвета смешивать для получения нужного тона, или какой уровень оттенка, насыщенности и яркости будет более подходящим. В данной статье я познакомлю вас с основами этой теории, а также представлю некоторые советы и эффективные способы достижения цветовой гармонии и совершенного дизайна.

Немного истории


В древности цвета существовали в форме пигментов, например в виде цветной почвы, угля или животного жира. Древние цивилизации, например Египтяне создавали произведения искусства с помощью пигментов, получаемых из минералов, в связи с чем наиболее распространенным в их произведениях был синий цвет. С течением лет различные выдающиеся художники привносили весомый вклад в живопись, и эволюция цвета продолжалась. Тот же великий Леонардо да Винчи исследовал различные особенности и принципы создания цветов, о чем писал в своих рукописях.

С тех пор история цвета развивалась путем исследований и научных экспериментов. В 18 веке уже начала формироваться сама наука о цвете колористика. В 1704 году сэр Исаак Ньютон совершил прорыв, когда в результате эксперимента с призмой открыл, что свет состоит из нескольких цветов. Несмотря на то, что тогда многие сочли это утверждение спорным ввиду всеобщего убеждения, что свет является бесцветным, открытие все же легло в основу известной нам сегодня теории цвета.

Эксперименты показали, что красный, желтый и синий являются основными цветами, из которых можно получить все остальные. Ньютон также создал первую версию цветового круга, который существенно повлиял на дальнейшую историю и принципы работы с цветом. Параллельно с этим начала формироваться и другая концепция, определявшая, что, смешиванием основных цветов можно получать уже другие, а именно фиолетовый, оранжевый и зеленый. Трансформация знаний продолжалась, и цветовой круг постепенно дорабатывался.

В дальнейшем благодаря системе Манселла он был дополнен третичными цветами, такими как желто-оранжевый, красно-оранжевый, красно-фиолетовый, сине-фиолетовый и желто-зеленый. Альфред Манселл также был выдающимся исследователем цвета, который расширил размерность идей Исаака Ньютона. В своих работах Манселл определил, что двухмерный цветовой круг подходит для описания только одного измерения цвета. В итоге он первым представил цвет в трехмерном цветовом пространстве через три его атрибута: тон, значение (яркость) и хроматичность. Сегодня дизайнеры используют цветовой круг для создания красивых притягательных работ с помощью палитр, в основе которых лежит теория цвета.

Цвет и его теория


Чтобы лучше понять цвет и его теорию, мы для начала вспомним, какие в цветовом круге существуют категории.

Основные цвета выступают основой для получения всех остальных цветов. К ним относятся красный, синий и желтый. (примечание: данное определение характерно для художественной системы цветовоспроизведения, которая расходится с аддитивной системой RGB Максвелла, где основными цветами являются красный, зеленый и синий).

Вторичные цвета получаются совмещением двух основных. К ним относятся оранжевый, фиолетовый и зеленый.

Третичные цвета создаются смешиванием основных со вторичными. Всего их насчитывается шесть: красно-оранжевый, красно-фиолетовый, сине-фиолетовый, сине-зеленый, желто-зеленый и желто-оранжевый.



Категории цветов
Цветовой круг представляет основные, вторичные, третичные цвета, а также их оттенки, тени и тональности. Он выступает в качестве ориентира, позволяя дизайнерам создавать уникальные и привлекательные цветовые палитры.

Основные термины колористики




Различные температуры цветов

Тон указывает на цветовой пигмент и может полноправно называться цветом.

Хроматичность описывает чистоту цвета. Высокая хроматичность тона указывает на то, что в нем отсутствует черный, серый и белый. С другой стороны, присутствие черного или серого просто снижает хроматичность. Дизайнер должен понимать, что следует избегать использования тонов со схожей хроматичностью и предпочитать брать те, чья хроматичность отличается на несколько оттенков.

Насыщенность определяет, как выглядит тон при различный условиях освещения. Для достижения цветового соответствия рекомендуется использовать степени насыщенности, максимально приближенные к природным.

Тональности представляют цвета, получающиеся после добавлении в тон серого. Смотрятся они тускло и скучно, как старые программы, в связи с чем подходят далеко не для всех дизайнерских решений. Тем не менее, если в проект нужно добавить винтажный эффект, с их помощью можно сделать это более элегантно.

Тени используются для затемнения цвета путем добавления в его тон черного.

Значение (яркость) цвета отражает его светлоту или темноту.

Оттенок противоположен тени и отражает, сколько белого было добавлено к цвету. Оттенки зачастую применяются в области женского дизайна, и их в изобилии можно встретить на сайтах, посвященных родительству или воспитанию юных детишек.

Цветовые палитры


Смешивание цветов в поиске нужных комбинаций является интересным и увлекательным занятием, особенно для дизайнеров. С помощью цветовой палитры они добиваются нужных красочных решений при проектировании UI или логотипов. В умелых руках таким образом создаются визуально привлекательные фирменные стили, которые успешно резонируют с эмоциями целевой аудитории.

Дизайнер оперирует богатым арсеналом цветовых схем, при использовании которых очень важно добиваться гармонии. В этом как раз и помогают цветовые палитры, позволяя получать согласованный и эстетически привлекательный дизайн. Придуманы они были не одно тысячелетие назад, но в современной цифровой эпохе получили еще большую популярность. Цветовые палитры представляются в форме HEX-кодов, с помощью которых мы сообщаем компьютеру о том, какой цвет нам нужен.


Цветовая палитра

Виды цветовых палитр



Монохроматическая
Подразумевает использование одного цвета, его тональностей и теней. Монохроматическая цветовая гармония всегда оказывается предпочтительным выбором. За счет уникального контраста оттенков она делает дизайн более привлекательным.


Монохроматическая цветовая схема

Аналоговая
Аналоговые палитры основываются на цветах, располагающихся рядом на цветовом круге. Такие палитры используются в случаях, когда нужно создать дизайн без контрастов. В оформлении сайтов это означает соблюдение гармонии цвета за счет заполнения фона страницы аналоговыми цветами.


Аналоговая цветовая схема

Комплиментарная
Комплиментарная палитра строится на основе двух противоположных цветов круга и используется для создания эффекта контраста.


Комплиментарная цветовая схема

Сплит-комплиментарная
В основе сплит-комплиментарной схемы лежит та же контрастная пара цветов, только в этом случае один из них разбивается на два соседних.


Сплит-комплиментарная цветовая схема

Триадическая
Триадическая цветовая схема строится из трех равноудаленных друг от друга цветов круга. С помощью такой палитры удается одновременно добиться и контраста, и гармонии.


Триадическая цветовая схема

Прямоугольная
Прямоугольная палитра включает две пары комплиментарных цветов. Наиболее опытные дизайнеры используют ее для создания завораживающих изображений.


Прямоугольная цветовая схема

В современном цифровом мире существует широкий спектр инструментов для создания цветовых палитр. Можно выбирать цвета из предлагаемого этими инструментами круга и автоматически генерировать HEX-коды для дальнейшего использования в проектах. Существуют также инструменты, генерирующие цветовые палитры на основе загружаемых изображений. Такой способ создания нужных палитр очень эффективен и существенно сокращает время разработки дизайна.

К известным инструментам работы с палитрами относятся:

Adobe Color


Coolors


Canva Color Wheel


Paletton


Color Hunt


Психология цвета


Многие знают о существовании подраздела психологии, изучающего влияние цвета на человеческие эмоции. В окружающей нас повседневной действительности можно заметить, что, как правило, яркие и привлекательные цвета оказываются более желанными и притягательными, в то время как темные оттенки обычно навевают хмурое настроение и чаще ассоциируются со стариной.

То же можно сказать о тепловом восприятии цветов. Например, красный, оранжевый и желтый ассоциируются с ощущением тепла, синие оттенки, наоборот, связывают с холодом или водой, а зеленые цвета с природой. Все эти ощущения являются результатом того, как именно глаза воспринимают цвет, передавая в мозг определенный сигнал, который обрабатывается мозгом и отражается в том или ином настроении. Исследованиями в области психологии восприятия цвета занимаются многие ученые, и на этот счет существуют различные теории.

Все большее число как небольших фирм, так и крупных корпораций используют данные этих исследований для формирования бренда и разработки сопутствующего дизайна, который будет вызывать у целевой аудитории правильные ассоциации и устойчиво фиксироваться в памяти. В случае удачного подбора цветов и их согласования с задачей бренда на выходе получается изящный дизайн, который делает конечный продукт очень привлекательным и запоминающимся.
На протяжении десятилетий многие крупнейшие корпорации инвестировали в разработку логотипов и маркетинговых стратегий согласно психологии цвета. Некоторые из них определили публичный образ компании с помощью особого дизайна логотипа и комбинации цветов, что сделало их узнаваемыми и заложило в целевую аудиторию определенные ассоциации.


Психология восприятия цвета

Культурные различия в восприятии цветов


Очень важным фактором в дизайне, не подчиняющимся никакому своду правил, являются культурные различия. В нашем полном разнообразия мире каждый регион имеет свои психологические отличия, сформированные разными культурными особенностями. К примеру, в некоторых западных странах белый цвет считается символом чистоты и надежды, но в то же время в других культурах он ассоциируется с печалью и утратой.

Некоторые другие цвета, например желтый или оранжевый, обычно воспринимаются как отражающие надежду, радость и позитив. Аналогичным образом красный почти повсеместно считается цветом опасности или молодости и энергичности. Синий ассоциируют со спокойствием, умиротворением и стабильностью.

Это говорит о том, что дизайнеру важно понимать задачи и суть разрабатываемого им фирменного стиля, а также учитывать целевую аудиторию. Исходя из потенциальной клиентской базы в общий дизайн бренда могут вносится небольшие доработки с целью соответствия локальным особенностям аудитории. В иных случаях предпочтение может отдаваться универсальному дизайну, подходящему всем возможным регионам присутствия компании.

Согласованность цветов фирменных стилей


При создании цветовой палитры важно добиться уникальности бренда. Здесь дизайнеру нужно учесть ряд факторов, например фирменный дизайн конкурентов и их цветовые схемы. Использование схожей цветовой палитры может вызвать путаницу среди потребителей. Однако при этом не обязательно брать абсолютно иную цветовую гамму, лучше будет просто обыграть аналогичную в собственном ключе. Например, сети McDonalds и Burger King обе работают в сфере быстрого питания и предлагают аналогичный сервис. При этом и тот, и другой бренд используют в фирменном стиле комбинацию красного и желтого.

Кроме того, уникальность бренду могут добавить нестандартные цвета. Типичным подходом к реализации подобных решений является использование цветовых комбинаций с акцентами. Это делает общий дизайн модным и привлекательным. Ниже приведены некоторые уникальные комбинации (источник), призванные подтолкнуть вас к более углубленному изучению подобных цветовых палитр.







Рекомендации по выбору цветов


  • Стремитесь придать яркость вашему дизайну.
  • Изучите теорию цвета, чтобы вызывать в аудитории нужные эмоции.
  • Задействуйте инструменты цветовых палитр для более быстрого подбора цветов.
  • Используйте цветовые схемы и добивайтесь гармонии, согласуя цвета по температурной характеристике.
  • Следите за новыми трендами на рынке дизайна.
  • Корректируйте цветовые схемы согласно стандартам индустрии. К примеру, для банковской сферы красный и желтый цвета считаются неподходящими.

Заключение


Колористика является достаточно сложной наукой, но при грамотном ее изучении с самых основ сложностей на пути освоения возникнуть не должно. Она послужит трамплином, который позволит вам начать самостоятельно нарабатывать базу знаний для создания характерных и цепляющих глаз дизайнерских решений.

Важно научиться использовать сложные цветовые палитры, так как это позволит добиваться высокой эстетичности конечного результата. Помимо теорий и принципов, выступающих основами, дизайнерам необходимо также учитывать и понимать такие дополнительные факторы, как эмоции целевой аудитории, региональные особенности ее психологии, а также задачи самого бренда. Все это говорит о том, что для наращивания навыков и создания беспрецедентных дизайнерских проектов нужно использовать не только формальные принципы работы с цветом, но также опираться на интуицию.

Подробнее..

Математика палитры почему не бывает красного структурного цвета

16.09.2020 10:17:24 | Автор: admin


Многие считают, что основными инструментами художника являются кисточка, мольберт и палитра. Однако это лишь средства, позволяющие использовать истинный инструмент цвет. Наш мир полон красок всех мастей, от огненно-красного до морозно-синего. Цвет предметов и окрас живых организмов является результатом ряда физических и/или химических процессов. Учитывая разнообразие цветов, порой сложно понять разницу в механизмах из происхождения. Ученые из Кембриджского университета решили выяснить, почему структурные цвета, зависящие от наноразмерной архитектуры поверхностей, а не от химических пигментов, не бывают красных оттенков, а лишь синих или реже зеленых. В чем секрет такого цветового ограничения и как именно удалось установить истину? Пролить свет на эти вопросы нам поможет доклад ученых. Поехали.

Основа исследования



Примеры структурных цветов в природе: А гибискус тройчатый (Hibiscus trionum); В жук тамамуси (Chrysochroa fulgidissima); С бабочка вида Morpho rhetenor; D комар обыкновенный (Culex pipiens); Е морская мышь (Aphrodita aculeata); F жук вида Pachyrhynchus argus; G бабочка вида Parides sesostris

Структурный цвет является результатом интерференции света, который рассеивается наноразмерными непоглощающими элементами поверхности. Это более физический процесс, нежели химический, как в случае с пигментацией, где цвет зависит от избирательного поглощения по длине волны.

У структурных цветов имеется множество преимуществ по сравнению с пигментными:

  • не обесцвечиваются, так как цветообразование определяется архитектурой, а не составом;
  • могут быть изготовлены из экологически чистых материалов;
  • достигают нетрадиционных цветовых эффектов, от яркого металлического до изотропного оптического отклика.


Изображение 1

Учитывая положительные свойства структурных цветов, было разработано множество методик по их воссозданию, а точнее методик создания иерархических структур или структур ближнего упорядочения с независимыми от угла цветами. Результатом таких разработок стало фотонное стекло (PG от photonic glass), которое имеет биологический эквивалент в виде оперения многих птиц (изображение выше).

Нюанс в том, что в природе структурные цвета бывают лишь синих оттенков. Красные и зеленые цвета, как правило, достигаются с помощью структур с дальним упорядочением или с использованием пигментации. Конечно, существуют техники, позволяющие создать искусственный структурный красный оттенок. Однако, как заявляют авторы сего труда, оптические свойства у материала такого цвета крайне плохи.

Возникает вопрос можно ли в принципе создать полноценный структурный красный цвет? Дабы ответить на этот вопрос, ученые решили использовать численный подход, который обеспечивает прямой доступ к спектру отражения произвольной структуры и позволяет исследовать промежуточные режимы рассеяния, то есть между однократным рассеянием и диффузионным поведением.

Результаты исследования


Для начала посредством численного алгоритма были созданы варианты фотонного стекла (прямое и инверсивное) с различными свойствами рассеивания и структурной корреляцией (структурным фактором*).
Структурный фактор* математическое описание того, как материал рассеивает падающее излучение.
Следом были проведены расчеты оптических свойств сгенерированных структур с использованием метода конечных разностей во временной области. Созданная модель была намеренно ограничена двумерным пространством, так как подобные структуры чаще всего встречаются в природе (изображение выше). Концентрация внимания на двумерной структуре также позволяет расширить спектр изучаемых параметров, при этом ограничивая вычислительные затраты. Тем не менее ученые уверены, что полученные результаты можно применить и для описания трехмерных структур.

Если поглощение отсутствует, то рассеяние в фотонном стекле возникает в результате взаимодействия между характеристиками индивидуальных частиц (размер, форма и показатель преломления) или за счет взаимодействия между свойствами группы частиц (доля заполнения и структурные корреляции).


Изображение 2

В случае прямых PG в отражении преобладают резонансы Ми*, определяемые свойствами рассеивателя (). Таким образом, отраженный цвет можно изменить на видимый, изменив размеры рассеивателя.
Резонанс Ми* увеличение интенсивности рассеянного на сферической частице излучения для определенных длин волн, сравнимых с размерами частицы (назван в честь Густава Ми, 1868-1957).
Однако по мере увеличения размера частиц пик резонанса Ми смещается в красную сторону, и второй пик появляется в синей части спектра, что соответствует резонансной моде более высокого порядка. А вот в рассеянии света в инверсивных PG преобладают структурные корреляции (2B). Пик отражения, положение которого хорошо соответствует предсказаниям закона Брэгга*, более выражен, чем в прямых структурах.
Дифракция Брэгга* явление сильного рассеяния волн на периодической решетке рассеивателей при определенных углах падения и длинах волн.

Формула закона Брэгга: n = 2d sin , где d период решетки; угол падения волны; длина волны излучения; n число волн.
Появление отдельного пика в видимом спектре демонстрирует, что использование инверсных PG является эффективной стратегией для минимизации форм-фактора в общем оптическом отклике системы в пользу структурных вкладов.


Зависимость изотропного структурного цвета от показателя преломления для прямого (сверху) и инверсивного (снизу) PG соответственно.

Изменение показателя преломления влияет на взаимосвязь между вкладами формы и структуры. В системах с высоким показателем преломления преобладают резонансы форм-фактора, которые не позволяют им достичь хорошей чистоты цвета в красной области спектра как для прямых, так и для инверсных PG. Для прямых систем, даже когда контраст показателя преломления низкий, резонансы форм-фактора приводят к усиленному отражению на коротковолновой стороне структурного пика. Напротив, в случае инверсивных PG видно, что структурный фактор формирует хорошо разделенный пик в видимом спектре, даже в красной области длин волн.

Из этого следует вывод, что инверсивные PG с низким показателем преломления могут превосходить прямые PG с точки зрения чистоты цвета и насыщенности.


Изображение 3

Уменьшение контраста показателя преломления между матрицей рассеяния (nm) и центрами рассеяния (np) может еще больше способствовать структурному вкладу. На видно, что увеличение np приводит к широкополосному снижению коэффициента отражения и красному смещению структурного пика. Структурный пик уменьшается по ширине и имеет более высокую интенсивность по сравнению с его фоном, что приводит к лучшей чистоте цвета.

Уменьшение контраста показателя преломления снижает роль многократного рассеяния, которое так или иначе присутствует в неупорядоченных системах. Это ограничивает изотропные структурные цвета режимом распространения света между диффузным рассеянием* и баллистическим переносом*.
Диффузное рассеяние* рассеяние, возникающее в результате любого отклонения структуры материала от структуры идеально правильной решетки.
Баллистический перенос* беспрепятственный поток носителей заряда (обычно электронов) или несущих энергию частиц на относительно большие расстояния в материале.
Многократное рассеяние становится преобладающим при увеличении толщины образца, что приводит к широкополосному ненасыщенному отклику.

Соответствующие наблюдения также можно применить и к рассеивателям со сложной геометрией. Как уточняют ученые, в их предыдущих работах была представлена идея использования частиц ядро-оболочка* для разделения вкладов форм-фактора и структурного фактора и достижения отдельного пика в длинноволновой области спектра.
Частица ядро-оболочка* частица, ядро и оболочка которой отличаются по составу, морфологии и функциональному назначению.
На изображении показано, что уменьшение размера центра рассеяния (ядра) при сохранении длины структурной корреляции приводит к увеличению интенсивности и ширины длинноволнового (структурного) пика. В то же время коротковолновый вклад резонансов Ми смещается в сторону ультрафиолета.

На показано, что пониженный контраст показателя преломления может подавить многократное рассеяние, в то время как разделение вкладов форм-фактора и структурного фактора возможно через частицы ядро-оболочка ().

Объединение обоих методов показано на . Это позволяет получить более высокие значения чистоты и насыщенности цвета за счет хорошо разделенных пиков в длинноволновой части видимого спектра.

На следующем этапе исследования ученые уделили внимание оценке насыщенности и чистоты цвета. Для количественной оценки этих параметров спектры отражения прямых, инверсивных PG и ядер-оболочек были преобразованы в цветовые оттенки. Чистоту цвета можно определить как нормализованное расстояние от белой точки на диаграмме цветности по отношению к красной точке (в случае красных цветов). Насыщенность количественно определяет, насколько интенсивность отраженного света распределяется по спектру с разными длинами волн.


Изображение 4

На 4A различные системы для оттенков красного нанесены на диаграмму цветового пространства CIE XYZ. На 4В вычислены соответствующие значения чистоты и насыщения.

Стоит отметить, что все инверсивные PG демонстрируют более высокие значения чистоты и насыщенности цвета, чем красные оттенки прямых PG. Однако включение в систему частиц ядро-оболочка не приводит к значительному улучшению по сравнению со стандартным инверсивным PG. Если же объединить оба подхода, то можно получить более высокие показатели чистоты и насыщенности. Тем не менее они будут гораздо ниже, чем у реального красного цвета (т.е. из модели КЗС красный, зеленый, синий).

Для более детального ознакомления с нюансами исследования рекомендую заглянуть в доклад ученых и дополнительные материалы к нему.

Эпилог


В данном труде ученым удалось продемонстрировать, что фотонные стекла имеют внутренние ограничения в достижении насыщенных красных оттенков. Это обусловлено взаимодействием между резонансом, связанным со структурным фактором, рассеянием, связанным с форм-фактором, и фоном многократного рассеяния. Подобный фундамент позволяет легко достичь структурного цвета в УФ-синем диапазоне, но не в случае больших длин волн.

Также было доказано, что высокая чистота и насыщенность цвета для красных оттенков не могут быть достигнуты в изотропных структурах ближнего упорядочения, даже в случае сложных морфологий рассеивателя.

По словам ученых, подобные наблюдения могут свидетельствовать о том, что природа была вынуждена (образно выражаясь) создать альтернативные пути формирования красных оттенков (например, многослойные или алмазные структуры).

Объединение нескольких подходов по созданию структурного цвета красных оттенков может улучшить показатели чистоты и насыщенности, но их все же недостаточно для достижения реального красного цвета.

Также было установлено, что из-за сложного взаимодействия между однократным и многократным рассеянием, желтый и оранжевый, помимо красного, также сложно получить в аспекте структурных цветов.

Подобные исследования позволяют лучше понять структурные цвета, а также выработать новые методики по созданию материалов, способных быть основой для тех оттенков, что не встречаются в естественных структурных цветах. Помочь в этом, по мнению авторов исследования, могут новые типы наноструктур (например, сетевые или многослойные иерархические структуры).

Как бы то ни было, работа над структурными цветами будет продолжаться и дальше. Современные методики изучения наноразмерных структур и средства их воссоздания позволяют детальнее описать процессы, протекающее в материале, что, естественно, способствует достижению контроля над этими процессами.

Благодарю за внимание, оставайтесь любопытствующими и хорошей всем рабочей недели, ребята. :)

Немного рекламы


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Equinix Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Подробнее..

CSS var в rgba или удобное использование цветов в Sass

15.12.2020 02:07:06 | Автор: admin

Эта статья посвящена обзору моих наработок в Sass, которые облегчают жизнь при работе с цветами во время верстки. Мы рассмотрим 3 подхода, которые воедино принесут комфорт в работу с цветами.

В итоге, такая запись:

body{  color: color(primary);  background: color(primary, 0.5);}

Будет эквивалентна такой:

:root {  --color-pink: #E20071;  --color-pink--rgb: 226, 0, 113;}body {  color: var(--color-pink);  background: rgba(var(--color-pink--rgb), 0.5);}

Но, при этом в управлении вы используете только HEX формат цвета. Конвертация происходит в автоматическом режиме. Никаких танцев с бубном. Смотрим:

Автоматическое создание CSS переменных

Почему лучше использовать CSS, а не Sassпеременные, можно почитать на Хабре в этой статье.

Первое, создадим массив с нужными цветами.

$colors : (  "pink"  : #E20071,  "blue"  : #00A3DA,  "gray"  : #939394,  "white" : #FFFFFF,  "black" : #1B1B1B,);

Далее, создадим CSS переменные,перебрав в цикле созданный выше массив $colors и запишем их впсевдокласс:root.

:root{  @each $key, $value in $colors {    --color-#{$key} : #{$value};  }}

На выходе, получим это:

:root {  --color-pink: #E20071;  --color-blue: #00A3DA;  --color-gray: #939394;  --color-white: #FFFFFF;  --color-black: #1B1B1B;}

Прозрачность цвета

Для использования прозрачности в Sass необходимо использовать цвет в RGB формате, но переменные созданные выше написаны в HEX. Чтобы это исправить, напишем простую функцию:

@function HexToRGB($hex) {  @return red($hex), green($hex), blue($hex);}

Далее,запишем цвет в переменную

:root {  --color-pink-rgb: #{HexToRGB(#E20071)};}

И воспользуемся функцией rgba, где первый параметр нужный цвет, а второй прозрачность. Значение прозрачности может находиться в диапазоне от 0 (полностью прозрачный) до 1 (полностью непрозрачный):

body{  background: rgba(var(--color-pink-rgb), 0.5);}

Сокращенная запись CSS переменной

Для ускоренного написания CSS переменной, напишем функциюcolor.

@function color($name) {  @return var(--color-#{unquote($name)});}

Теперь запись:

body{  background: color(pink);}

Равнозначна такой:

body{  background: var(--color-pink);}

Простая магия

Теперь покажу пример, как используя 3 этих подхода, можно управлять цветами (CSS переменными) так, используя массив как тему:

body{  color: color(primary);  background: color(primary, 0.5);}

Вот сам код:

$colors_theme : (  "primary"   : "pink",  "secondary" : "blue");$colors : (  "pink"  : #E20071,  "blue"  : #00A3DA,  "gray"  : #939394,  "white" : #FFFFFF,  "black" : #1B1B1B,);@function HexToRGB($hex) {  @return red($hex), green($hex), blue($hex);}@function color($name, $opacity: false) {  @if $opacity {    @return rgba(var(--color-#{unquote($name)}--rgb), $opacity);  } @else {    @return var(--color-#{unquote($name)});  }}:root{  @if $colors {    @if $colors_theme {      @each $key, $value in $colors_theme {        --color-#{$key} : var(--color-#{$value});        --color-#{$key}--rgb : var(--color-#{$value}--rgb);      }    }    @each $key, $value in $colors {      --color-#{$key} : #{$value};      --color-#{$key}--rgb : #{HexToRGB($value)};    }  }}

Ну вот и все, в качестве вывода можно сказать, что благодаря подобным функциям упрощается и ускоряется работа с цветами.

Более того, с помощью данных функций, имея в качестве входного значения цвет только в HEX формате, можно легко изменить цветовую палитру сайта. И не прибегнуть к дополнительным кододвижениям.

Прошу строго не судить это первая статья на Хабре.

Подробнее..

Цвета в Swift UIColor

19.02.2021 00:11:18 | Автор: admin

UIColor дает возможность настроить цвет для Dark Mode, дает семантический набор цветов "от Apple", а также дает возможность задать не только цвет, но и паттерн заполнения пространства, что как бы кричит нам, что UIColor это вовсе не цвет. Давайте слегка заглянем в эти чертоги UIColor.

UIColor это класс который хранит данные о цвете и прозрачности. Цвет в iOS может быть представлен в разных цветовых пространствах, самое известное из которых RGB. На самом деле, сам цвет хранится в свойстве cgColor класса CGColor. В iOS существуют несколько сущностей, которые могут хранить информацию о цвете - каждый для своего фреймворка:

  • для UIKit это класс UIColor,

  • для SwiftUI это структура Color,

  • для Core Graphics это класс CGColor,

  • для Core Image это класс CIColor

В данной статье я постараюсь рассказать о классе UIColor, который является частью фреймворка UIKit.

Системные цвета

В UIKit есть некоторые предопределенные цвета, которые вы можете использовать в своем проекте. Например, зелёный UIColor.green или часто достаточно написать просто .green. Написав так, будет использован конкретный цвет со значениями RGB 0.0, 1.0, 0.0 и уровнем прозрачности 1.0. Но в UIColor, определен также цвет UIColor.systemGreen. Чем он отличается от обычного UIColor.green?

Начиная с iOS 13.0 появился Dark Mode. Пользователь может выбрать в настройках системы в каком цветовом теме ему комфортнее работать - в светлой теме или в тёмной. И зеленый цвет для этих режимов будет немного отличаться. Более того, пользователь для комфортного восприятия может выбрать высококонтрастный режим, повышающий контрастность между элементами интерфейса и фона. И зеленый цвет для этого режима тоже будет другим.

Нам, разработчикам, зачастую без разницы какой оттенок одного цвета используется, но специалисты Apple, глубоко проработали этот вопрос с учетом сочетаемости цветов в разных режимах и состояний экрана, и с точки зрения восприятия цветов для людей с проблемами по зрению. Недооценивать возможность использовать системные цвета не стоит - и при отсутствии дизайнеров в проекте, которые способны подобрать цвета для проекта, при прочих равных лучше выбирать цвета начинающиеся на "system...":

  • systemBlue

  • systemIndigo

  • systemOrange

  • systemPink

  • systemPurple

  • systemRed

  • systemTeal

  • systemYellow

Замечу - эти системные цвета меняют только оттенок основного цвета - зеленый цвет не сможет стать синим, он будет либо чуть светлым зеленым, либо чуть темным зеленым.

Кроме того, есть несколько системных оттенков серых цветов, которые вы можете использовать для второстепенных элементов интерфейса - разделители, тени, границы и т.п.

  • systemGray

  • systemGray2

  • systemGray3

  • systemGray4

  • systemGray5

  • systemGray6

Еще раз, повторю, все эти системные цвета способны адаптировать под различные настройки или состояния интерфейса. Как подобные цвета создавать самому мы посмотрим далее.

Как вы могли заметить среди этих цветов нет цветов Black или White, которые в основном как раз используются для текста или фона. Тут как раз приходят на помощь семантические цвета.

Семантические цвета

Концепция семантических цветов позволяет абстрагироваться от конкретных цветов, сделав акцент на предназначении цвета. В UIKit нам знаком такой цвет как tintColor, который обозначает цвет, который призывает пользователя к действию - например, это может быть цвет системных кнопок, ссылок, вкладок в UISegmentControl и т.п. В вашем приложении может быть определен брендированный цвет - например, мы можем назвать его как brandColor или primaryBrandColor/secondaryBrandColor. Или это может быть свой уникальный цвет всех текстовых элементов.

Смысл использования семантических цветов в том, чтобы определить их в одном месте и дальше ссылаться из всех частей приложения только на одно место - место где вы определили семантические цвета. К примеру, вы хотите использовать красный цвет для всех UILabel в вашем приложении. Вместо того, чтобы в каждом UILabel задать тексту цвет .red, гораздо удобнее определить свой семантический цвет:

let primaryTextColor = UIColor.red

и во всех UILabel его использовать:

label.textColor = primaryTextColor

Конечно красный цвет - сомнительная история для использования как цвет текста, поэтому к вам обязательно придет дизайнер или заказчик и попросит поменять цвет на другой. В таком случае вы это сможете сделать не более чем за минуту просто переопределив свой primaryTextColor.

В общем случае крайне рекомендуется использовать семантические цвета даже на небольших проектах. Но сперва по этому поводу вам нужно будет договорится со своим дизайнером, который при передаче макетов разработчику будут закладывать в используемых цветах элементов интерфейса именно семантические наименования.

Семантические цвета в UIKit

Apple предлагает свою систему семантических цветов, которую вы можете использовать в приложении. Более того, цвета из этой системы вы будете неосознанно использовать если не будете менять цвета стандартных контролов. В UIKit предлагаются следующие цвета.

Цвета текста:

  • label - для обозначения основного текста

  • secondaryLabel - вторичный текст

  • tertiaryLabel - текст третьей значимости

  • quaternaryLabel - текст четвертой значимости

Вы, к примеру, цвет secondaryLabel можете использовать для подзаголовков, а tertiaryLabel для сносок или примечаний в тексте.

Цвета для заполнения:

  • systemFill

  • secondarySystemFill

  • tertiarySystemFill

  • quaternarySystemFill

Apple предлагает использовать эти цвета для наполнения разных фигур/контролов типа слайдеров, полей поиска, кнопок и т.п.

Цвет для плейсхолдера:

  • placeholderText

Цвета для фона:

  • systemBackground

  • secondarySystemBackground

  • tertiarySystemBackground

Использовать для разного вида фонов.

Цвета для фонов сгруппированных элементов:

  • systemGroupedBackground

  • secondarySystemGroupedBackground

  • tertiarySystemGroupedBackground

Используются для таблиц со стилем .grouped для фона сгруппированных элементов.

Цвета для разделителей:

  • separator

  • opaqueSeparator

Цвет для ссылок:

  • link

Отдельно цвета для текста, которые не адаптируются под темную или светлую тему:

  • darkText

  • lightText

Используя эти семантические цвета UIKit для целей, которые обозначены в их описании, будет обеспечиваться их сочетаемость нативным образом.

Подробнее про эти цвета можно почитать на сайте Apple.

Как создать цвет, который будет адаптироваться под Dark или Light режимы

Первый вариант - в XCode в Assets проекта добавить для каждого цвета Color Set, в котором можно отдельно задать цвета для Dark и Light Mode в настройке Appearances. Там же можно задать, что вы хотите для данного цвета задать параметры для высококонтрастного режима.

Где можно найти настроки цвета в Assets в XCodeГде можно найти настроки цвета в Assets в XCode

В дальнейшем к этому цвету можно обращаться так:

let color = UIColor(named: "ColorName")

этот цвет автоматически будет меняться "на лету" при изменении режима настройки в iOS.

Второй вариант - задать условия и значения цвета в коде, в зависимости от текущих параметров системы.

Делается это в конструкторе UIColor:

init(dynamicProvider: @escaping (UITraitCollection) -> UIColor)

UITraitCollection содержит в себе основные параметры относящиеся к экрану - вертикальный или горизонтальный режим, Dark или Light режим, контрастность и т.п. Нас прежде всего интересует userInterfaceStyle которое говорит о текущем режиме.

Пример:

let color = UIColor { traitCollection -> UIColor in

switch traitCollection.userInterfaceStyle {

case .light, .unspecified: return .white

case .dark: return .black

}

}

Какие еще есть возможности для создания цвета

Конструкторы для создания UIColor можно разделить на три типа:

  • для создания в разных пространствах цветов HSB, RGB

  • для создания UIColor на основе цветов из других нативных фреймворков

  • для создания на основе паттерна картинки

    интересный вариант - создать UIColor на основе картинки ...

init(patternImage image: UIImage)

Данный конструктор создает UIColor, при этом мы не задаем цвет, а передаем в качестве основы картинку. В итоге назначив этот цвет, например, тексту UILabel, вы получете интересный эффект - текст будет отображен при помощи паттерна картинки(см. обложку статьи).

Это что же получается - цвет это может быть вовсе не цвет, а паттерн. Получается что цвет в данном случае это скорее "как нам наполнить пространство", чем "каким цветом тут покрасить".

Вывод

Несмотря на то, что UIColor достаточно простой класс, он предоставляет возможности управления цветом в зависимости от текущих параметров. Кроме того, как мы увидели он может задавать не только цвет, но и в целом метод заполнения пространства. В помощь разработчикам Apple дает набор семантических цветов, упрощающих разработку, и позволяющих немного асбтрагировать цвет элементов интерфейса.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru