Переливы прозрачности. Плавные изменения свойств.


Содержание

CSS прозрачность (css opacity, javascript opacity)

Эффект прозрачности — это тема данной статьи. Если вам интересно узнать, как сделать элементы html-страницы прозрачными, используя CSS или Javascript, и как добиться кросс-браузерности (одинаковой работы в разных браузерах) с учетом браузеров Firefox, Internet Explorer, Opera, Safari, Konqueror, тогда милости просим. Вдобавок рассмотрим готовое решение постепенного изменения прозрачности с помощью javascript.

CSS opacity (CSS прозрачность)

W3C в своей рекомендации CSS3 определяет свойство opacity для применения эффекта прозрачности к элементам страницы. Значением данного свойства является число в диапазоне от 0.0 до 1.0. При значении равном нулю элемент становится полностью прозрачным, а при значении равном единице, соответственно, совсем не прозрачным. Свойство можно применять к любым элементам страницы.

Пример (задана прозрачность 0.2, 0.5 и 1.0):

Нравится? Да? Так что самое время подпортить настроение. Понятное дело, что разные браузеры по-разному реализуют данное свойство: кто вообще не реализует, кто реализует, используя свое собственное название для данного свойства, а кто фильтры использует.

Браузеры поддерживающие CSS3 opacity

Понимают CSS3 свойство opacity следующие браузеры: Mozilla 1.7b+, Firefox 0.9+, Safari 1.2+, Opera 9.

Для установки прозрачности через скрипт используем: object.style.opacity

Mozilla 1.6 и ниже, Firefox 0.8

Старые Mozilla и Firefox 0.8 используют своё название данного свойства: -moz-opacity

Для установки прозрачности через скрипт используем: object.style.MozOpacity

Safari 1.1, Konqueror 3.1

Данные товарищи, построенные на движке KHTML, используют для управления прозрачностью свойство: -khtml-opacity

Для установки прозрачности через скрипт используем: object.style.KhtmlOpacity

Однако, имейте ввиду, что данное свойство доступно лишь в данных версиях этих браузеров. Safari с версии 1.2 использует CSS3 opacity, но при этом Konqueror старше версии 3.1, перестав поддерживать -khtml-opacity, не ввел поддержку CSS3 opacity.

В январе 2003 года корпорация Apple представила новый браузер для Mac OS X, основанный на движке KHTML, Safari. Благодаря лицензии, на условиях которой распространяется KHTML, все изменения, вносимые в него разработчиками Apple, публикуются в виде патчей, которые, после пересмотра, добавляются в основную ветку KHTML.

Причиной по которой Konqueror утратил возможность реализации эффекта прозрачности как раз и заключается во внесение в ядро KHTML патчей от Safari, т.к. Safari использует возможности присутствующие в Mac OS X, но которых нет в KDE.

Конечно рано или поздно эта ситуация будет исправлена, но на данный момент в последней версии 3.5 ситуация остается прежней.

Internet Explorer 5.5+

Данный браузер, начиная с версии 5.5 и включая последнюю на сегодняшний день версию Internet Explorer 7, реализует прозрачность через Alpha DirectX фильтр. Стоит отметить, что данный фильтр использует значение прозрачности в диапазоне от 0 до 100 (а не от 0.0 до 1.0). Так же отмечу, что фильтр можно применять лишь к элементу с установленным свойством height, или width, или position со значением absolute, или writingMode со значением tb-rl, или с contentEditable установленным в true.

Пример (устанавливаем прозрачность на половину):

Для установки прозрачности через скрипт используем: object.style.filter = «prog >

CSS opacity симбиоз

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

По сути, нужными являются первое и последнее правила, для IE5.5+ и браузеров понимающих CSS3 opacity, а два правила по середине явно погоды не делают, но и не очень то и мешают (сами решайте, нужны ли они вам).

Javascript opacity симбиоз

Теперь попробуем установить прозрачность через скрипт с учетом особенностей разных браузеров описанных выше.

Функция принимает два аргумента: sElemId — id элемента, nOpacity — вещественное число от 0.0 до 1.0 задающее прозрачность в стиле CSS3 opacity.

Думаю, что стоит пояснить часть кода функции setElementOpacity относящуюся к IE.

Может возникнуть вопрос, а почему бы ни устанавливать прозрачность путем присваивания (=) свойству elem.style.filter = ‘. ‘; ? Зачем используется «+=» для добавления в конец строки свойства filter ? Ответ прост, для того чтобы не «затереть» другие фильтры. Но при этом, если добавить фильтр таким образом второй раз, то он не изменит ранее установленные значения этого фильтра, а будет просто добавлен в конец строки свойства, что не корректно. Поэтому, если фильтр уже установлен, то нужно им манипулировать через коллекцию примененных к элементу фильтров: elem.filters (но учтите, если фильтр ещё не был назначен элементу, то управлять им через данную коллекцию невозможно). Доступ к элементам коллекции возможен либо по имени фильтра, либо по индексу. Однако фильтр может быть задан в двух стилях, в коротком стиле IE4, или в стиле IE5.5+, что и учтено в коде.

Плавное изменение прозрачности элемента

Готовое решение. Используем библиотеку opacity.js

Основные шаги:

  1. Подключаем библиотеку функций;
  2. Определяем правила используя метод fadeOpacity.addRule();
  3. Вызываем метод fadeOpacity() для изменения прозрачности от начального значения к конечному, или fadeOpacity.back() для возврата к начальному значению уровня прозрачности.

Разжевываем

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

Правила определяются с помощью метода fadeOpacity.addRule

Синтаксис: fadeOpacity.addRule (sRuleName, nStartOpacity, nFinishOpacity, nDalay)

Аргументы:

  • sRuleName — имя правила, задаётся произвольно;
  • nStartOpacity и nFinishOpacity — начальная и конечная прозрачность, числа в диапазоне от 0.0 до 1.0 ;
  • nDelay — задержка в миллисекундах (необязательный аргумент, по умолчанию равен 30).

Сам вызов фейдинга прозрачности делаем через методы fadeOpacity(sElemId, sRuleName), где sElemId это id элемента, а sRuleName имя правила. Для возврата прозрачности в исходное состояние используется метод fadeOpacity.back(sElemId).

:hover для простой смены прозрачности

Ещё отмечу, что для простой смены прозрачности (но не постепенного её изменения) в самый раз подходит псевдо-селектор :hover, который позволяет определить стили для элемента, в момент наведения на него мыши.

Обратите внимание, что картинка размещена внутри элемента A. Дело в том, что Internet Explorer вплоть до версии 6, понимает псевдо-селектор :hover, только применительно к ссылкам, а не к любым элементам, как положено в CSS (в IE7 положение исправлено).

Прозрачность и зазубренный текст в IE

С выходом Windows XP появилось сглаживание экранных шрифтов методом ClearType, а вместе с ним и побочные эффекты в IE при использовании этого метода сглаживания. Касательно нашего случая, если применяется прозрачность к элементу с текстом при включенном методе сглаживания ClearType, то текст перестает нормально отображаться (полужирный текст — bold, например, двоится, могут так же появляться различные артефакты, например, в виде чёрточек, зазубренного текста). Для того чтобы исправить положение, для IE нужно задать фоновый цвет, CSS свойство background-color, элементу к которому применяется прозрачность. К счастью в IE7 баг устранен.

Плавное изменение прозрачности у Image

25.07.2015, 16:23

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

Динамическое изменение прозрачности Form
Братья по разуму,кто подскажет несведущему ,как постепенно уменьшать прозрачность формы. Пробовал.

Изменение прозрачности формы по таймеру
Здравствуйте. Помогите решить задачку( Вызываю вторую форму, Нужно по таймер изменять.

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

Плавное изменение размеров UserControl
Привет всем! Возникла задача в создании своего контрола, который в определенный момент будет.

CSS3 transition прозрачности и видимость блока :: Хранитель заметок

CSS3 transition прозрачности и видимость блока

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

Устанавливать свойство display: none нельзя потому, что тогда перестанет работать анимация. В этом случае поможет смена значения у свойства visibility . Его, на ряду с другими свойствами, указываем в transition.

При «затухании» блока значение visibility: hidden применится с задержкой равной длительности анимации прозрачности. Без задержки блок будет скрыт мгновенно. Для фазы «появления» блока такой задержки наоборот не нужно. Блок должен получить видимость сразу и только после этого у него будет меняться прозрачность.

Обновление: В примере исправил «дрожание» блока, когда указатель движется около его нижней границы. Это приводило к тому, что указатель то уходил с блока, то вновь оказывался поверх него.

PS: Разумеется, названия CSS3 свойств transition и transition-delay нужно указывать с браузерными префиксами.

Ещё заметки со схожей тематикой

Категории
Коментарии к заметке

@mista_k если я правильно понял задачу то тут поможет так же pointer-events: none; но кроссбраузерности будет конечно меньше.

Можно (с известными ограничениями http://caniuse.com/#search=pointer-events). Для pointer-events больше годятся задачи типа «белого градиента, накрывающего текст».

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

Это легко исправляется как раз выше названным свойством pointer-events. Вот ещё один пример с новой улучшенной кнопкой, тултип которой не страдает от «дрожания» указателя рядом с его нижним краем:

В стили добавил два правила:

Если использовать pointer-events , то не получится перейти курсором в этот tooltip (чтобы выделить текст или перейти по ссылке в самом тултипе, например), но если этого и не требуется, то такого же эффекта со значительно большей поддержкой можно достичь, используя другую разметку и селектор + (http://caniuse.com/#feat=css-sel2) http://jsfiddle.net/65xm7/1/

Так pointer-events: none назначается только в фазе «затухания». Предполагается, что с блоком в этот момент уже нельзя никак взаимодействовать, что выглядит вполне логично.

Спасибо за пример. Он, разумеется, проще и надёжнее, но имеет совсем другое поведение.

Мерцание можно убрать с css -webkit-backface-visibility: hidden;

Вот еще пример с анимацией стрелки тултипа http://jsfiddle.net/iurevych/5bnA9

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

Изменение света в прозрачной среде

Глава вторая. Прозрачность тел.

Свет распространяется в прозрачной среде. Прозрачной средой для света служат все видимые вещества и тела природы. Так как в природе совершенно прозрачных или непро­зрачных тел не существует, то пределы распространения света определяются относитель­ной прозрачностью среды. Толстый слой воды малопрозрачен, очень тонкая пластинка металла прозрачна. Прозрачная среда является той видимой частью природы, в пределах которой заметно движение света. Она является миром зрительных ощущений. За преде­лами прозрачности движение света отсутствует, и окружающий мир становится недоступ­ным для зрения.

Прозрачная среда видоизменяет проходящий свет. Она его рассеивает, поглощает и отражает.


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

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

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

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

Туман на просвет кажется ярко-желтым, по свету — голубовато-серым или синим. Дым на светлом фоне неба кажется красноватым; проплывая на фоне темных предметов, он кажется голубым. Опал, молочное стекло, матовое стекло, вода, помутневшая от несколь­ких капель молока, и тому подобные предметы — все они, приобретая желтые и оранже­вые оттенки на просвет, по свету кажутся голубыми.

Морская вода, в проходящем свете желто-зеленая, становится голубой и изумрудной от света, рассеянного в ней.

Картина И. К. Айвазовского «Девятый вал» (рис. 2) может служить наглядным при­мером для изучения тех видов изменений, которые претерпевает свет, проходя сквозь про­зрачные тела. Непревзойденный русский маринист удивляет своим глубоким пониманием живописных свойств прозрачной среды, особенно морской волны и воздуха.

Все краски, смешанные с белилами, Леонардо да Винчи называл голубыми. Краски мутнеют от белил, делаются менее прозрачными и в большей степени рассеивают в себе и отражают голубые лучи. Желтая краска, смешанная с черной, по той же причине приоб­ретает зеленоватый оттенок.

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

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

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

Илон Маск рекомендует:  Что такое код kbhit

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

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

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

Рис. 9. Преобладание отраженного света. Фрагмент картины В. А. Серова «Де­вушка, освещенная солнцем». Освещение изобилует разноцветными рефлексами от окружающей природной среды.

Рис. 10. Светотень в условиях помещения, заполненного разноцветными предме­тами. Картина А. Е. Архипова «В гостях» хорошо показывает сложную, разноцвет­ную светотень изображенных персонажей.

Рис. 11. Зависимость светотени предметов на открытом воздухе от состояния небосвода. Фрагмент картины И. И. Левитана «Март». Окраска полутонов и падаю­щих теней на снегу определяется цветом неба.

Рис. 12. Цвет прозрачного человеческого тела. Этюд А. П. Лосенко «Натурщик». Цвет тела видоизменяется в зависимости от преобладания отраженного, рассеянно­го или не поглощенного им света.

Мы рассматривали наиболее прозрач­ные тела — воздух и стекло — в проходя­щем свете первоисточников, оставляя в сто­роне источники отраженного света. Но в действительности большая часть цветовых ощущений является следствием просвечива­ния тел отраженным светом. Если мы, рас­сматривая прозрачное тело на просвет, за­меним прямой свет первоисточника каким- либо отраженным светом, то ощущение света возникает с той же закономерностью; изменится лишь яркость цвета, потому что отраженный свет слабее прямого.

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

Разноцветные стекла, положенные на черный бархат, будут казаться черными; положенные же на белую бумагу обнару­жат свои разнообразные цвета. Здесь, сле­довательно, появится источник отраженного света — белая бумага,— который просвечи­вает сквозь стекла и обнаруживает их цвет.

На рис. 13 схематично показаны лучи света, проходящие прозрачные тела А, Б. Свет, встречая на своем пути среду А, распадается на две части. Первая отражается от внешней поверхности под углом падения без качественного изменения. Вторая доля света, преломляясь, продолжает свой путь в среде А в измененном направлении; это изменение тем больше, чем больше меняется скорость света при переходе в данную среду из предыду­щей. Среда А будет рассеивать и поглощать вторую долю света, пока световая энергия не иссякнет или пока свет не пройдет всю толщу среды А и не встретит среду Б, по-своему изменяющую скорость движения света. Тогда свет вновь распадается на две части: пре­ломившаяся часть света пойдет дальше, а отраженная возвратится обратно сквозь среду А и будет изнутри просвечивать эту среду, выявляя ее цвет.

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

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

Если вместо бокала вина мы возьмем прозрачную ягоду красной смородины, то получим ту же картину в уменьшен­ном масштабе и будем наблюдать ту же закономерность. Если насыпать горкой большое количество ягод красной смо­родины, то можно видеть, что верхние ягоды, более освещен­ные и пропускающие сквозь себя больше отраженного света, лучше видны на просвет, выглядят более ярко-красными; нижние ягоды просвечиваются отраженным светом нижеле­жащих ягод и выглядят более насыщенными по цвету, темно- красными, а еще ниже — совсем черными (рис. 14).

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

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

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

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

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

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

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

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

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

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

Рис. 14. Возникновение цвета предметов в зависимости от их прозрачности и просвечиваемо­сти. Собственный цвет предме­та мы чувствуем там, где ви­дим его на просвет.

Наука создания фотореалистичного 3D (часть5). Прозрачность, преломление, подповерхностное рассеивание, дисперсия

Это пятая часть серии статей о реалистичном 3D. Другие части читайте тут: первая — основы создания фотореалистичного 3D, вторая — освещение в 3D, третья — тень в компьютерной графике и четвертая — отражения в CG.

Поехали! Для начала немножко закрепим пройденный материал об отражениях.

Отражения и преломления перебивают диффузный цвет.

Это означает, что если у вас есть сильно отражающий материал, металл, к примеру, то диффузный цвет вообще не будет виден. Поэтому 100% отражений = 0% диффузного цвета. 100% прозрачность – означает, что отражения могут иметь место, но полностью исключает диффузный цвет. Проводники (металлы) не имеют диффузной составляющей, поэтому для металлов вы ставите diffuse на 0% (черный цвет).

ЛЮБАЯ поверхность отражает.

Существующий на Земле реальный материал с наименьшей отражающей способностью отражает 0.045 % падающего на него света. Таким образом, даже «абсолютно черная» поверхность все равно отражает какую-то долю света. Что уж говорить об обычных материалах, существующих в реальной жизни, а не созданных в лабораторных условиях.

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

Самый отражающий материал – Spectralon. Он отражает приблизительно 99% падающего света. Похож по виду на материал с BRDF по Ламберту, но точно им не является.

Лист белой бумаги отражает приблизительно 80% света.

Поэтому, если хотите добиться реалистичного результата, следует добавлять текстуру отражения ко всем без исключения материалам.

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

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

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

Тоже самое можно сказать о четких и размытых тенях. Постоянно используя мягкие тени – вы не допустите ошибки.

Самый темный материал, который более-менее доступен обычному человеку, отражает минимум 3% света. Конечно, вы можете создать материал, который будет отражать только 1% света, но в реальной жизни такой материал можно будет встретить разве что в лаборатории.

Идея такова: реальные материалы отражают довольно много. Но отражения у диэлектриков должны иметь френелевское затухание (Fresnel falloff), поговорим о нем немножко позже.

2. Пропускание (Transmission).

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

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

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

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

Таким образом, металл отражает 50% фотонов попадающих на него и поглощает оставшиеся 50%. Если нужно смоделировать стекло, то мы скажем, что оно пропускает 90% фотонов падающих на него перпендикулярно, 5% отражает и оставшиеся 5% поглощает.

Преломление (Refraction).

Этот эффект связан с пропусканием.

Преломление – это искривление лучей света (изменение их направления движения) при прохождении границы раздела двух сред (материалов). Различная среда преломляет по-разному, это называется коэффициент преломления — IOR .

Представьте камень, брошенный в воду под прямым углом – он не изменит своего направления, просто замедлит ход. Но если бросить камень под острым углом к поверхности воды, то, войдя в воду, он изменит свое направление полета из-за большой плотности воды по сравнению с плотностью воздуха.

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

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

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

Рендерер Mental Ray позволяет контролировать эти оба значения посредством одного параметра – IOR (отражения по Френелю), а вот VRay, использует два раздельных параметра – IOR в свитке Reflection и Fresnel IOR в свитке Refraction.

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

Дисперсия (Dispersion).

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

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

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

Илон Маск рекомендует:  Что такое код ncurses_bkgd

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

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

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

Полупрозрачность (Translucency).

Полупрозрачность – это частный случай прозрачности.

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

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

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

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

Подповерхностное рассеивание это частный случай прохождения и происходит это так: свет входит в материал, многократно отражается от атомов внутри и выходит наружу не в том же месте, где вошел.

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


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

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

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

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

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

Отличие между свойствами шейдера Diffuse и SSS/Translucency состоит в (подповерхностном) распространении света. Или, другими словами, как далеко от точки вхождения фотона в материал, будет находится точка выхода этого же фотона (луча) наружу. Таким образом, свет, попадающий на твердую каменную стену, выйдет из ее подповерхностного слоя так близко к точке вхождения, что шейдер считает эту величину равной нулю. Но свет, попадающий на кожу, обычно выходит на заметном удалении от точки вхождения. Поэтому это нельзя игнорировать, иначе кожа будет выглядеть мертвой. Отсюда и необходимость в шейдере подповерхностного рассеивания (SSS).

3. Поглощение (Absorption).

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

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

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

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

Итак, 100% черный означает 0% отражений, а этого никогда не происходит в реальной жизни. ВСЕ материалы ВСЕГДА отражают в какой-то степени.

Цвет – это результат выборочного поглощения и выборочного отражения.

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

Выводы.

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

Подпишитесь на обновление блога (вот 3 причины для этого).

Читайте следующую (финальную) часть, которая посвящена материалам металла и френелевским отражениям.

P.S. Работа из заглавия статьи, с изображением экзотической птицы (Тукан — Toucan), выполнена британским автором в 3ds Max и Mudbox (небольшая детализация клюва), а визуализирована с помощью VRay. Мех и перья сделаны с помощью плоскостей с прозрачностью. Плоскости для перьев были неможко изогнуты, чтобы на них получился красивый блик. Свет устроен так: низкий уровень GI (глобального освещения) и куча объемных (area) источников света с разной интенсивностью и цветом. Один из источников имел проекционную карту, чтобы получить эффект просветов между листьями. Смотрите увеличенную версию и обсуждение работы тут .

В последнее время появились помехи для моего беспроводного интернета от Интертелекома на даче (где я в данный момент работаю). Как результат, интернет на даче вообще не берет. Пришлось искать новое рабочее место, офис, так сказать, где бы интернет брал. Просмотрел несколько объявлений типа «аренда помещений». Нашел. Комнатушка маленькая, возле речки, но мне кроме розетки и стола со стулом ничего не нужно. Главное, чтобы интернет принимал. Теперь езжу работать в свой «офис»

Похожие статьи:

  • Что такое PBR: физически корректный рендеринг и… Разработчики прекрасного софта Substance Painter (и других полезных пакетов для упрощения процесса создания материалов) также проводят образовательную работу среди 3D…
  • Как настроить VRayFastSSS2, часть6. Шейдер VRay для… В предыдущих частях этой повести о настройках VRay материалов мы уже рассмотрели все настройки материала VRayMtl, а также материала VRayBlendMtl.…
  • Наука создания фотореалистичного 3D (часть6).… Надеюсь, что эта статья сделает из вас профессионала и работа в Донецке для тридешника (которую, кстати, удобно искать на портале…
  • Наука создания фотореалистичного 3D (часть4). Виды… Готовьтесь, это будет длинная часть, но, как по мне, самая интересная. Напоминаю, что это четвертая часть цикла статей о науке…
  • Наука создания фотореалистичного 3D (часть3). Тень, Пришла очередь продолжению сериала цикла статей о физической корректности ваших 3D сцен. Если пропустили начало, то обязательно читайте первую и…
  • Помощь по материалам V-Ray, часть 3. Преломление или… Это продолжение подробного руководства по V-Ray материалам. Рассматриваю на примере V-Ray версии 2.20.03. Во второй части мы полностью разобрались со…
  • Шейдер VRayFastSSS2, часть7. VRay материал для… Это продолжение шикарной серии статей о настройке основных VRay материалов: VrayMtl, VRayBlendMtl и VRayFastSSS2. В этой части заканчиваю обзор материала…

Вам понравилась статья ? Хотите отблагодарить автора? Расскажите о ней друзьям.
Или подпишитесь на обновление блога по E-Mail.

Ответов: 11 к статье “Наука создания фотореалистичного 3D (часть5). Прозрачность, преломление, подповерхностное рассеивание, дисперсия”

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

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

Как сделать плавный переход к прозрачности в Photoshop

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

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

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

Инструкция по добавлению картинке плавного перехода в прозрачность в Фотошоп

  1. Открыв редактируемое изображение, в окне Слои нажмите по миниатюрной кнопке Добавления слой-маски. Как конкретно выглядит эта кнопка, можно увидеть ниже, на изображении.

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

Теперь в панели инструментов выберите Градиент.

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

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

Результатом станет добавленная прозрачность. На приведённом примере ниже это можно наблюдать воочию.

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

Видеоинструкция

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

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

До новых встреч, уважаемый посетитель!

В свою очередь, Вы тоже можете нам очень помочь.

Просто поделитесь статьей в социальных сетях с друзьями.

Поделившись результатами труда автора, вы окажете неоценимую помощь как ему самому, так и сайту в целом. Спасибо!

Плавность и анимация в CSS

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

  • Плавное изменение цвета
  • Плавное затухание
  • Плавное увеличение — уменьшение
  • Плавное перемещение
  • Плавный поворот

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

Плавное изменение цвета

Для примера создадим HTML документ и поместим в него блок div

Плавное изменение цвета происходит за счет применения свойства transition, что в переводе означает переход или превращение. И это превращение происходит за 1 секунду, как указано в значении. Linear можно поменять на ease и переход будет чуть быстрее. Смотрим пример.

Плавное затухание

CSS код пишем примерно тот же самый, только свойство указываем — all, то есть ко всему, что последует после псевдокласса hover, будет применена плавность. В нашем случае это затухание. Блок изменит прозрачность при наведении на 50%.

-webkit-transition: all 1s ease; -o-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease; #block1:hover

Плавное увеличение

Здесь все то же самое. Только в примере я установил значение linear вместо ease. Устанавливаем в псевдоклассе hover ширину и высоту, отличную от оригинального размера.

Плавное перемещение

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

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

Плавный поворот

Это означает, что объект будет повернут на 180° по часовой стрелке

Вернемся к теме о браузерах. Opera, Mozilla, Chrome прекрасно поддерживают все эти новшества, но Internet Explorer как обычно живет своей жизнью и никуда не спешит. У него и так все хорошо. �� То есть все, о чем я писал выше, он просто не понимает. Вот такие дела. Скачайте исходники и изучите код более подробно.

Европейские исследователи создали новый композитный материал с изменяемой прозрачностью

Материалы с изменяемой прозрачностью далеко не новы, но группа немецких и датских ученых серьезно продвинулась в данном вопросе. В своей работе исследователи описывают созданный ими полимер-дисперсный материал на основе жидких кристаллов (PDLC), который быстрее и четче других подобных разработок меняет свою прозрачность от полностью прозрачного «пластика», до «глухого» белого. Прозрачным материал становится за 8 миллисекунд (для человеческого глаза — мгновенно), а непрозрачным — за 80 миллисекунд. Официально новинка будет представлена в октябре в рамках технологического симпозиума UIST 2020, который пройдет с 16 по 19 октября в Токио, Япония.

Илон Маск рекомендует:  Caption (заголовок) заголовок для таблицы (нет в html 2 0)

Для участия в UIST 2020 группа подготовила специальный презентационный ролик, который уже доступен на Youtube:


Модели, созданные при помощи нового материала, крайне напоминают неразрывные фигурки оригами, которые классически выполняются из одного листа бумаги. На сгибах «листа» исследователи устанавливают специальные контакты, которые позволяют разграничивать и контролировать отдельные сегменты. Прозрачность материала же изменяется под действием электрического тока напряжением в 60 В. Для поддержания прозрачного состояния требуется около 10 мА на м 2 материала, в непрозрачном состоянии ток не требуется.

Использование материала для изготовления физических индикаторов, например, свободного пространства на жестком диске

В своей работе ученые отмечают, что прозрачность материала при подаче тока изменяется практически линейно, то есть его свойства изменятся даже при подаче 20 В, однако, до заявленных 90% светопропускаемости при штатном напряжении в 60 В будет далеко, как и при подаче, например, 40 В.

Сам материал изготовлен из нескольких слоев. С внешней стороны расположен изоляционный слой, за ним — слой из прозрачной проводящей пленки изготовленной с использованием оксида индия-олова. Между проводящими слоями размещен слой жидких кристаллов:

Также технология создания и управления изделиями из PDLC позволяет избавиться от одной из главных проблем проектирования подобных вещей — проводки. Разметка дорожек производится прямо в материале. Единственные провода, которые будут присутствовать в подобных предметах — подключение к источнику тока. Проектирование листа-заготовки производится в специальном ПО, по модели которого лазером выжигается необходимая «оригами»-заготовка.

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

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

Переливы прозрачности. Плавные изменения свойств.

Канал прозрачности (Маска) — один из самых мощных и обязательных для изучения инструментов в Фотошопе, наряду с кривыми.

Из всего вышесказанного следует:

— Лассо (кисть границы).

— Выделения с допуском.

Рассмотрим принцип работы каждого из них.

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

Ручная прорисовка маски.

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

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

Принцип тот же, но внутрь указанного прямоугольника вписывается окружность. Для этого способа есть 2 варианта создания выделения:

1 — повторяет прямоугольное выделение.

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

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

Лассо (кисть границы)

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

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

Выделение с допуском.

Инструменты «Волшебная палочка», «Быстрое выделение» и «Цветовое выделение» работают с допуском.

Допуск — метод вычисления в котором вы указываете конкретную точку, от которой программа ведет рассчет ближайших значений яркости в радиусе введенного вами значения допуска. К примеру, значение допуска — 0. В таком случае вы указываете точку, и программа просчитывает какие пиксели вокруг этой точки имеют то же самое значение. Если же значение допуска равное 5, то программа учитывает пиксели не только той же яркости, но и +- 5 единиц яркости в каналах.

» Волшебная палочка» — инструмент, который работает непосредственно с допуском. Вы указываете точку от которой программа делает просчет по допуску и выделяет просчитанную область. Стоит отметить, что вместо точки может быть усредненное значение из области в 3, 5,7 и 11 пикселей. Делается это для уточнения исходного цвета, ввиду наличия шумов на изображении. На примере этого инструмента посмотрим на влияние допуска.

Введем значение, равное 0 и выделим любую областьградиента.

Введем значение допуска 5, так же выделим любую точку градиента. Сравним ширину.

«Быстрое выделение» — инструмент, который работает так же с допуском, но его отличие в том, что он находит контрастные границы цветового пятна и выделяет всё цветовое пятно. Пример на градиенте не совсем удачный, но тем не менее. Работает инструмент, как смесь кисти и магнитного лассо. Ниже — была приведена небольшая линия. Как видите, инструмент обнаружил вертикальные границы и ориентировался при выделении на них и на ширину кисти инструмента.

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

Опять же сравним, как выглядят допуски для того же градиента в инструменте «цветовой диапазон». Диапазон равен 0.

Диапазон значительно увеличен, до 67. Как вы можете заметить, фотошоп в этом случае учитывает не только яркость и тон, но и насыщенность области, что приводит к плавным градиентам, как на примере ниже.

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

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

Про режимы наложения мы поговорим в отдельной теме.

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

Источник — файл, из которого вы берете накладываемое изображение, а слой и канал — соответственно, какой слой и какой канал нужно наложить.

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

Для того чтобы вывести синий канал в маску в кривых, выделяем изображение маски в слоях, нажав на него один раз, далее идем во внешний канал, и выставляем необходимые параметры — источник, слой и канал и ставим галочку «инверсия». Обратите внимание, что в слое можно выбрать как конкретный слой, так и результат объединения слоёв.

После этого можно править наше изображение в любую желаемую сторону.

К слову: После инверсии изображение получается значительно светлее того, на что мы рассчитывали. Для того, чтобы воздействовать на маску кривой необходимо нажать комбинацию клавиш Ctrl+M, выделив иконку маски.

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

Переходим в «Параметры наложения», нажав на правую кнопку мыши для выбранного слоя и щелкнув по соответствующей строке.

Содержит в себе: «основные параметры», «дополнительные» и интересующая нас часть — «наложение, если. «

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

На примере «наложение, если градации серого» объяснить действие этого инструмента проще всего.

В нижней части окна прописаны 2 градиента с ползунками, — черным и белым. Они являются аналогами ползунков в инструменте «уровни», но с тем отличием, что отвечают за прозрачность. Всё, что находится внутри, между ползунками имеет 100% воздействия, а вне — прозрачно на 100%. Присмотритесь на примере ниже к исходным слоям и заметьте, что самые темные и самые светлые участки стали прозрачными после того, как ползунки были смещены внутрь. Граница при этом четкая.

Функциональные особенности ползунков на этом не заканчиваются. Если зажать клавишу Alt, и потянуть ползунок, то он разделится на 2 части. Расстояние между частями будет аналогом допуска. Проще говоря — внутри разъединенного ползунка будет плавный градиент от внутренней к наружной части, что делает незаметной границу между прозрачной и не прозрачной областью. На примере ниже я разъединял светлый ползунок. Та область изображения, которая раньше была светлой и стала прозрачной в результате сдвига целого ползунка, после его разъединения приобрела плавный переход от полностью непрозрачного к прозрачному (между красными пунктирными линиями). Черный ползунок, оставшийся не тронутым, так же не изменил границу.

Оба градиента, подписанные «данный слой» и «подлежащий слой», работают по этому принципу с той лишь разницей, что информация для верхнего градиента берётся непосредственно с выбранного «данного» слоя, а для нижнего — со слоёв, лежащих под выбранным слоем, то есть в нашем случае — со слоя «Фон»

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

Прозрачность элементов

Свойство «opacity»

Отличные возможности для веб-дизайна даёт свойство CSS «opacity», что по данным «Википедии», переводится как непрозрачность .

«По умолчанию», у этого свойства стоит значение «1», т.е. полностью НЕ прозрачен. Но такое легко сменить.
Значения свойства opacity можно изменять от (невидимка) до 1 (виден полностью).

Причём! Менять можно очень-очень плавно. К примеру, выставить значение: 0.985, что совсем немного «потушит» элемент.

Это свойство понимают браузеры Firefox и Opera, и все современные устройства: планшеты, смартфоны. А вот Internet Explorer 8 его не понимает, НО!
Зато, он понимает фильтр «alpha» . Пример использования показал в конце страницы.

Ради изучения полных возможностей этого свойства, подключил к основному файлу CSS ещё один дополнительный. Он в папке CSS. Назвал его style_opacity.css

Схематически, коды в нём имеют вид: #opc05

Прозрачность текста

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

Разные значения через отдельный файл CSS

Примеру №1 установил непрозрачность 0.5

Примеру №2 установил непрозрачность 0.2

Разные значения через атрибут style

Пример №1 с непрозрачностью 0.5

Пример №2 с непрозрачностью 0.2

Хорошо видно, что любым способом свойство работает абсолютно одинаково.

Прозрачность рисунков

Аналогично. Рисунки, используя подключённую таблицу стилей, сделал с непрозрачностью , соответственно: №1 — 1 №2 — 0.5 №3 — 0.2

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

Пример практического использования прозрачности

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

Использование прозрачности в веб-дизайне
(здесь могла быть реклама)

Решил сделать такую вставку, чтобы показать возможности практического использования прозрачности элементов веб-страницы.
Свойству «opacity» дал значение 0.6, что позволяет видеть под рекламным блоком нижний фоновый рисунок.

Посмотреть ещё примеры применения CSS для веб-дизайна страниц можно, кликнув по нижнему зелёному квадрату
(откроется в новом окне) .

Показал здесь принципы практического использования прозрачности элементов, т.е. свойства CSS «opacity».

Дальше расскажу о некоторой особенности этого свойства, с которой столкнулся, изучая его применение.

Особенности использования свойства «opacity»

Ниже разместил 3 примера с текстом, цветным фоновым блоком и фоновым рисунком.

Этот пример текста, серого фонового блока и фонового рисунка сделал для сравнения.

К ним ещё никакого свойства не применял.

Здесь, в примере №2, свойству «opacity» дал значение 0.5

Текста почти не видно, поэтому напишу о нём отдельно.

Хочу особо отметить 3-ий пример с двойным указанием непрозрачности .

Этот пример имеет ту же непрозрачность, что и соседний. Такое прописал ему в таблице стилей CSS.
А вот через атрибут «style», текстовым абзацам указал opacity:0.2, что они и приняли.

НО! Попробовал дать им через атрибут значение 1, однако они его НЕ применили, а продолжили наследовать от «родителя» 0.5 .

В то же самое время, МЕНЬШЕЕ значение, чем указано блоку-«родителю» в таблице стилей, текстовые абзацы (нижние) исполнили охотно. Разборчивые они . .

И напоследок, покажу действие специального фильтра для установки, и регулирования прозрачности элементов.

Фильтр «alpha»

Напомню! Этот, последний пример непрозрачности элемента могут видеть только те, кто зашёл с браузером Internet Explorer 8.
Остальные будут видеть обычный цветной блок с рисунком посередине и текстом так, будто «никакой закон им не писан».

Вписал текст для демонстрации примера работы спец. фильтра «alpha».
Установил в CSS-коде фильтра значение 50.

Тем не менее, код для этого примера в таблице стилей CSS прописан. Правда, выглядит он несколько иначе.

Кодовая строчка, отвечающая за непрозрачность , имеет вид: filter:alpha(opacity=50); Такая запись означает — видимость элемента составляет 50%.

Для фильтра «alpha» значения указываются в диапазоне от «100» (полностью виден), до «0» (невидимка).

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

Все права защищены. Copyright © 2009 — Коротеев Владимир.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL