Контур (К3)

Содержание

Создать контур

Основное меню: Объекты/Структурные операции/Контур либо Объекты/Создать/Кинематические/Контур (для К3-Мебель К3/Структ.оп./Контур либо К3/Создать/Кинематические/Контур)Меню команд геометрического редактора: Структурные операции/Контур либо Создать/Кинематические/КонтурМеню команд в программах: К3/Структурные операции/Контур либо К3/Создать/Кинематические/КонтурКонтекстное меню выбранного объекта: Кинематические/КонтурСинтаксис: path

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

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

После того, как объектов продолжения больше не найдено, выдается запрос Контур собран! Что делать дальше?

  • Элемент Создать завершает создание контура, после чего операции над отдельными его элементами становятся невозможны. То же самое — при нажатии клавиши Enter или ключа Ввод.
  • Если выбрать элемент Создать с дублированием, то в контур будут включены копии выбранных элементов.
  • Элемент Откатка исключает объекты из контура, начиная с конца, вплоть до предыдущей точки ветвления. Если точек ветвления нет, этот элемент отменяет строительство контура.

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

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

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

По умолчанию ноль локальной системы координат (ЛСК) вновь создаваемого контура совпадает с началом первого отрезка (дуги), а ось Х направлена вдоль этого отрезка (вдоль касательной к дуге). Но если во вкладке Интерфейс/Ввод/Действия диалоговой карточки, открываемой командой основного меню Установки/Параметры, в строчке ЛСК контура в ТСК, вы поставите галочку, то локальная система координат (ЛСК) вновь создаваемого контура будет совпадать с текущей системой координат (ТСК).

Если в качестве ТСК на момент создания контура назначена ПСК, совпадающая с глобальной системой координат (ГСК), то ноль ЛСК контура находится в нуле ГСК. Если же в момент создания контура назначить текущей произвольную, удобную для вас, систему координат (для этого используйте закладку Система/Привязки/Умолчания для точки или команду Преобразования/ПСК), то ноль ЛСК создаваемого контура будет находиться в нуле вновь назначенной ТСК или отредактированной ПСК.
При возвращении ТСК обратно в ГСК ноль ЛСК созданного контура будет совпадать с нулем той системы координат, которая на момент создания контура была текущей.

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

Создать контур по сплайну

Основное меню: Объекты/Создать/Линии/КонтурПоСплайну (для К3-Мебель К3/Создать/Линии/КонтурПоСплайну)Меню команд геометрического редактора: Создать/Линии/КонтурПоСплайнуМеню команд в программах: К3/Создать/Линии/КонтурПоСплайнуКонтекстное меню сплайна: Создать контур по сплайнуСинтаксис: arcs_spl

Команда по существующему сплайну создаёт контур из новых линий.

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

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

Редактировать контур

Основное меню: Объекты/Редактировать/Контур (для К3-Мебель К3/Редактировать/Контур)Меню команд геометрического редактора: Редактировать/КонтурМеню команд в программах: К3/Редактировать/КонтурКонтекстное меню выбранного объекта: РедактироватьСинтаксис: editpath

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

  • Закончить — выход из команды с сохранением изменений. Аналогично клавише Enter на клавиатуре;
  • Скругление — если в контуре есть два подряд лежащих отрезка, то к ним можно построить дугу гладкого сопряжения. Для этого укажите нужную вершину и задайте радиус (диаметр) скругления.

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

  • Чтобы скруглить сразу все вершины одним радиусом, выберите элемент Все и задайте радиус (диаметр).
  • Голубница — это дуга, центр которой лежит в вершине, а средняя точка — внутри контура.

Чтобы построить дополнительную дугу, переориентируйте контур (элемент контекстного меню Переориентировать);

  • Сдвиг узла — можно изменить положение вершины контура, из которой выходит два отрезка;
  • Разорвать — контур можно поделить на несколько контуров, задав последовательно несколько точек разрыва. Если замкнутому контуру указать только одну точку, то контур останется замкнутым, но изменит свое начало;
  • ДобавитьУзел — добавить новый узел между двумя существующими (нужно для дальнейшего редактирования);
  • Преобразовать — дугу можно заменить отрезком либо двумя в зависимости от выбранного ключа:
    • ДугуНаОтрезок — дуга заменяется отрезком;
    • ДугуНа2Отрезка — дуга заменяется двумя отрезками.
  • Переориентировать — поменять направление движения по контуру.

При выполнении действий, описанных выше, появляется также ключ:

  • ПоКоординатам — позволяет указать точку через введение координат.

Покрыть контур дугами

Основное меню: Объекты/Создать/Линии/ПокрытьКонтурДугами (для К3-Мебель К3/Создать/Линии/ПокрытьКонтурДугами)Меню команд геометрического редактора: Создать/Линии/ПокрытьКонтурДугамиМеню команд в программах: К3/Создать/Линии/ПокрытьКонтурДугамиСинтаксис: arcs_path

Команда строит новый контур, в котором отрезки старого контура заменяются дугами, если конечные точки отрезков соответствуют наложенным условиям.

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

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

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

Источник:
http://wiki.k3info.ru/index.php/%D0%9A%D0%BE%D0%BD%D1%82%D1%83%D1%80_(%D0%9A3)

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

В предыдущем примере («Кораблик») мы использовали простые и очевидные методы рисования графических объектов класса Graphics, такие как FillRectangle() — закрасить прямоугольник, FillPie() — закрасить сектор и DrawEllipse() — нарисовать эллипс. Чуть более сложный метод FillPolygon() — закрашенный полигон.

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

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

Наши действия:

На форме (Form1) размером 900х400 поместим две кнопки «Закрась!» и «Нарисуй!», создадим для них и для Form1 обработчики событий Click.

Нам понадобятся объекты классов Graphics, SolidBrush, Pen, Point (точнее, это структура), Region и GraphicsPath (он задан в библиотеке System.Drawing.Drawing2D — дополнение к System.Drawing!).

Будем применять методы класса Graphics:
FillPath() — заполнить замкнутую область, заданную объектом класса GraphicsPath;
DrawPath() — нарисовать контур (может быть и не замкнутым), заданный объектом класса GraphicsPath;
ExcludeClip() — обновить вырезанную область данного объекта Graphics, чтобы исключить из нее часть, определяемую объектом класса Region, который создается через конструктор
Region gp = new Region(pp); где pp – объект класса GraphicsPath;
ResetClip() — сбросить вырезанную область(ти) и сделать ее бесконечной (условно, анти_ExcludeClip()).
Метод ExcludeClip(Region reg) закрывает для рисования указанную область, оставляя другие части холста видимыми для рисования, а метод ResetClip() отменяет этот запрет.

Полями класса Form1 объявим объекты:
Graphics g; // холст
GraphicsPath pp; // контур фантома-дырки,
pp — объект класса GraphicsPath в System.Drawing.Drawing2D;
SolidBrush br; // кисть

Читайте также  Рубка в чашу: сруб своими руками, технология

Рисовать будем купол параплана, имеющего разное местоположение и размеры. Его контур зададим объектом класса GraphicsPath, для чего создадим метод:
private GraphicsPath paraplan(int x, int y, int r),
который возвращает контур купола параплана с центром в точке (x,y) и и характерным размером клетки r. Это ломаная прямая, проходящая через 8 точек.

Дополним конструктор Form1(), определим методы: Form1_Click(), button1_Click(), button2_Click().

Метод public Color RandomColor() — «Случайный цвет» является вспомогательным. Он позволит менять цвета контуров и закраски. Написан для демонстрации применения класса Random из библиотеки System.

Примечание: В этом примере мы обошлись одним классом — Form1.
В этот класс, в дополнение ко всем полям, свойствам и методам класса, унаследованных от класса Form, мы добавили в качестве полей три объекта (холст, контур, кисть), дополнили конструктор класса без изменения имени (принцип полиморфизма), добавили три метода обработки событий, а также методы paraplan() и RandomColor().

Остальное вам должно быть понятно из комментариев в тексте программы (файл Form1.cs):

Цвет парапланов меняется при нажатии на кнопки и при клике на форме. Пока не будет нажата кнопка «Закрась», маленький параплан будет сохранять цвет фона. Поэкспериментируйте с программой.

Источник:
http://c-sharp.pro/?p=156

Элемент Shape на С#

Когда Microsoft проапгрейдила Visual Studio 6 до Visual Studio 7 (.NET), многие привычные графические контролы (такие как: Image или Shape ) были исключены из набора стандартных элементов. В то же время, схожей функциональности, присущей этим контролам, можно добиться используя соответствующие классы библиотеки .NET library, однако для этого требуется больше усилий.

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

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


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

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

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

Данные классы являются ключевыми компонентами при реализации контрола Shape .

Прозрачность (Transparency)

В VB6 мы можем использовать свойство DrawMode контрола Shape для достижения эффекта прозрачности (чтобы видеть сквозь контрол). Свойство DrawMode все еще может быть реализовано с использованием GDI/GDI+ функций в .NET, но существует более простое и элегантное решение. .NET поддерживает 32 битную ARGB прорисовку. В VB6 так же поддерживаются 32 битные ARGB значение, которые могут быть назначены цветам, но компонент A (Alpha) такого значения никогда не используется.

Для многих стандартных контролов, порожденных от System.Windows.Form.Control , существуют по крайней мере два свойства, которые используют значения цвета Color : BackColor и ForeColor . Каждое из этих свойств мы можем связать со значением ARGB.

Как же мы можем провести тест для прозрачности? Ответ очевиден — использовать свойство background. Все контролы должны помещаться в контейнеры. Для большинства случаев таким контейнером является форма. В то же время есть контейнеры, которые сами содержат другие контейнеры, например, контрол панели Panel . Для испытания прозрачности мы можем установить в качестве фона контейнера какую-нибудь картинку, а для основного цвета контрола, находящегося в этом контейнере установить значение цвета с where the Alpha меньше, чем 255 (например 100). Теперь вы сможете увидеть картинку-подложку сквозь контрол. Чем ниже значение Alpha, тем отчетливее виден оригинальный фон (background).

В VB6 мы так же можем создать пользовательский контрол с различными фигурами. Но это может быть сделано только посредством вызовов Win32 API функций. В .NET каждый контрол имеет свойство Region , которое может быть использовано для задания формы. Когда происходит отрисовка контрола, Windows будет рисовать пиксели только внутри такого региона. Region может быть создан путем определения внешней границы (контура элемента). Контур может быть создан при помощи объекта GraphicsPath . Код, приведенный ниже, создает объект GraphicsPath , добавляет фигуру «эллипс» к траектории, и потом использует эту траекторию для инициализации нового объекта Region , который будет связан со свойством Region контрола. В результате контрол примет форму соотнесенную с данным Region , которым в данном примере является эллипс.

Пользовательские редакторы стадии проектирования

Когда вы используете оболочку Visual Studio .NET IDE, чтобы задать свойства Color , вы можете делать это используя стандартный редактор цветов ( Color Editor), где вы можете выбрать из предложенного набора цветов, или вы можете напрямую впечатать значение При использовании стандартного редактора, вы не можете определять значение для канала Alpha. А если вы прямо прописываете значение для ARGB, вы не знаете, как будет выглядеть этот цвет . В обоих способах есть недостатки.

Однако, Visual Studio .NET позволяет вам создать ваш собственный редактор для редактирования значений свойств. Для контрола Shape я создал два редактора для стадии проектирования. Один для редактирования значения ARGB, а другой — для выбора формы для контрола Shape .

В данной статье я не буду останавливаться на вопросе, как создать пользовательский редактор для стадии проектирования. Вы можете получить по данному вопросу все необходимую информацию из документации .NET по разделу пространства имен для System.Drawing.Design .

Расширение функциональности контрола Shape

Исходный код для представленного контрола Shape (ShapeControl.cs) позволяет легко добавлять/удалять фигуры. Все фигуры определены в блоке перечислений для типа ShapeType . Вы можете редактировать этот блок для добавления/удаления фигур.

Соответствующий блок добавления/удаления, который отвечает за создание вешнего вида фигуры (по просту формы) выглядит следующим образом:

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

Пример — Демо Приложение

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

Возможные улучшения

Проблемой для любого контрола shape является то, что наверняка потребуются фигуры, которых нет в доступном списке для выбора. Один из путей решения данной проблемы — создание редактора контуров (Outline editor) — для стадии разработки приложения для редактирования свойства Outline . Редактор контуров может позволить пользователю редактировать/создавать объекты GraphicsPath и назначать им свойства Outline (Контур) для контролов с этой формой.

Заключение

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

Источник:
http://www.realcoding.net/article/view/2728

Adobe Illustrator

На этой странице

某些 Creative Cloud 应用程序、服务和功能在中国不可用。

Выделение контуров, отрезков и опорных точек

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

Выделение опорных точек

Выполните любое из следующих действий:

  • Если точки видны, выберите их с помощью инструмента «Прямое выделение» . Для выбора нескольких точек удерживайте клавишу Shift.
  • Выберите инструмент «Прямое выделение» и перетаскиванием обозначьте границу вокруг опорных точек . Удерживая нажатой клавишу Shift, выберите дополнительные опорные точки.
  • Вы можете выбрать опорные точки в выделенном и невыделенном контуре. Перемещайте инструмент «Прямое выделение» над опорной точкой до тех пор, пока вместо указателя не отобразится пустой квадрат для невыделенного контура и заполненный квадрат для выделенного контура в увеличенном масштабе, затем нажмите на опорную точку. Удерживая клавишу Shift, выделите дополнительные опорные точки щелчком.
  • Выберите инструмент «Лассо» и перетащите его вокруг опорных точек. Удерживая нажатой клавишу Shift, выберите дополнительные опорные точки.

Выделение отрезков контура

Выполните любое из следующих действий:

  • Выберите инструмент «Прямое выделение» и щелкните в пределах двух пикселей от отрезка или перетащите выделенную область через его часть. Чтобы выделить дополнительные отрезки контура, щелкните их или перетащите на них инструмент, удерживая клавишу Shift.
  • Выберите инструмент «Лассо» и перетащите его вокруг части отрезка контура. Удерживая клавишу Shift, выделите дополнительные отрезки контура путем перетаскивания инструмента вокруг них.
Читайте также  Смешарики своими руками: выкройки c фото прилагаются

Выделение всех опорных точек и отрезков в контуре

  • Выберите инструмент «Прямое выделение» или «Лассо».
  • Перетащите по всему контуру.

Если к контуру применена заливка, то для выделения всех опорных точек можно также использовать инструмент «Прямое выделение» внутри контура.

Копирование контура

Выделите контур или отрезок с помощью инструмента «Прямое выделение» и выполните одно из следующих действий.

  • Для копирования и вставки контуров в пределах одного приложения или между приложениями используются стандартные функции меню.
  • Удерживая клавишу Alt (Windows) или Option (macOS), перетащите контур в нужное положение.

Добавление и удаление опорных точек

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

Добавление или удаление опорной точки

Добавление опорной точки:

  • Выберите инструмент Перо или Добавить опорную точку .
    Примечание. Инструмент «Перо» меняется на инструмент «Добавить опорную точку», если навести его на выделенный контур.
  • Щелкните отрезок контура.

Удаление опорной точки:

  • Выберите инструмент «Перо» или Удалить опорную точку и щелкните опорную точку.
    Примечание. Инструмент «Перо» меняется на инструмент «Удалить опорную точку», если навести его на опорную точку.
  • Выберите точку с помощью инструмента «Прямое выделение» и нажмите на панели управления кнопку Удалить выделенные опорные точки .

Не используйте для удаления опорных точек клавиши Delete и Backspace, а также команды Редактирование > Вырезать и Редактирование > Очистить. Эти клавиши и команды также удаляют присоединенные к точке отрезки.

Поиск и удаление изолированных опорных точек

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

Источник:
http://helpx.adobe.com/ru/illustrator/using/editing-paths.html

Техники наложения CSS

Дата публикации: 2013-12-27

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

Дизайнерские шаблоны, набор лучших практик и методов, нацеленных на решение одной из самых распространенных «проблем» дизайна, обычно представлены в контексте дизайнерских принципов. Один из них – принцип «остаться на странице» (Stay On Page). Он базируется на том факте, что обновления страницы плохо действуют на мыслительные процессы пользователя, вызывая явление, известное как ослепление при смене, и нам нужно избегать визуальной перегрузки пользователя там, где и когда это возможно.

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

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

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

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

МЕТОД №1: АБСОЛЮТНО ПОЗИЦИОНИРОВАННЫЙ ЭЛЕМЕНТ

Первый способ создания наложения – абсолютное позиционирование на странице элемента HTML. В разметке будет пустой div, а с помощью CSS этот div абсолютно позиционируется и ему назначается болшое значение z-index для того, чтобы гарантировать, что он останется на странице поверх всех прочих элементов, кроме модального окна, открывающегося сверху этого наложения, которое получит еще более высокий z-index, чем оверлей.

Предположим, в нашу разметку уже добавлен пустой div, и ему назначен класс .overlay, а вот CSS для позиционирования этого наложения на странице:

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

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

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

Что бы этого избежать и не беспокоиться о количестве контента на странице, а оверлей при этом закрывал бы все окно просмотра, вы должны установить высоту корневого элемента html и body. Однако помните при установке высоты элементов html и body:

Если вы назначаете элементу html высоту в 100% (100% высоты относительно окна просмотра) и назначаете body так же высоту в 100% (что высчитывается относительно коренного html), то устанавливаете высоту этих обоих элементов на 100% высоты окна просмотра, и следовательно, неважно насколько далеко простирается содержимое body, его высота остается равной высоте окна просмотра, и такой же будет высота наложения. В этом случае при прокрутке страницы вниз наложение станет прокручиваться вверх и вы увидите содержимое под ним без оверлея, как будто он обрезан.

Решение этой проблемы – установка минимальной высоты корневого элемента и body вместо установки значения высоты, что в большинстве ситуаций предпочтительнее. Установив минимальную высоту, вы гарантируете, что он станет достигать низа окна просмотра и будет увеличиваться по мере увеличения содержимого. И наконец, чтобы величина оверлея увеличивалась и растягивалась для покрытия всего контента при прокрутке страницы вы должны установить position:relative; к body для того, чтобы высота наложения растягивалась вместе с увеличением высоты тела.

Еще об этой методике следует заметить, что не следует пользоваться слишком высокими значениями z-index. Многие разработчики любят брать очень большие значения, вроде z-index: 999999; при позиционировании оверлея или любого другого элемента поверх других элементов страницы. Это не требуется. Чаще всего значения z-index равного 10, иногда даже меньше, достаточно для того, чтобы элемент на странице оставался поверх остальных. Вам лишь следует знать, что если другие элементы получают z-index, и таковые имеются, то просто установите z-index наложения больше самого высокого у прочих элементов.

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

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

Я поместила пример на Codepen, чтобы вы могли протестировать результат этой техники. Попробуйтезаменить min-height в html и body на height, или удалить позиционирование relative из body и посмотреть, как при прокрутке оверлей обрезается внизу.

МЕТОД №2: ЭЛЕМЕНТ С POSITION FIXED

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

Источник:
http://webformyself.com/texniki-nalozheniya-css/

​Как создать винтажную надпись в Иллюстраторе

В этом уроке дизайнер из Мельбурна Bobby Haiqalsyah поделится с нами, как он создает винтажные элементы с помощью оригинальных материалов и референсов, методичного подхода и использования таких функций Иллюстртора как Blend (Переход) и Offset Path (Создание параллельного контура).

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

Читайте также  Установка ДВС для велосипеда – двухколесный друг с мотором от бензопилы

В этом уроке Bobby ориентируется на начало 20-го века, воссоздавая стиль, который он впервые применил для своей работы The Good Old Days.

Время создания

Инструменты

Illustrator и Photoshop версии CS4 или более поздние.

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

Сделайте пару набросков. Опирайтесь на найденные референсы помогут придумать что-то новое.

На картинке можно увидеть мои наброски для «The Good Old Days «.

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

Мне нужны были хорошие прописные G, O и D для оригинальной надписи. Я создал их на основе бесплатного шрифта Emporium Capitals автора Paul Lloyd (bit.ly/B5dO), стиль которого похож на тот, что я искал. И все же, он недостаточно узкий, так что пришлось импровизировать, взяв шрифт за исходную точку.

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

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

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

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

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

Затем, используйте панель Pathfinder (Обработка контуров), чтобы объединить элементы в каждой прописной букве. Каждой букве задайте стандартное оформление (D) — белый цвет заливки и черный контур. На панели Stroke (Обводка) выровняйте обводку снаружи линии и увеличьте ее толщину, чтобы было видно лишние точки. Для каждой заглавной буквы примените команду Object > Path > Offset Path (Объект>Контур>Создать параллельный контур) и создайте контур внутри.

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

Задайте строчным буквам стандартные заливку и обводку (D), а выровняйте обводку снаружи линии. Поскольку у этих букв много острых углов, могут возникнуть проблемы при создании внутреннего контура. Чтобы избежать подобных затруднений, создайте параллельный контур с помощью кнопки FX > Path > Offset Path (Fx>Контур>Создать параллельный контур) на панели Appearance (Оформление) и подберите такие параметры, при которых контур будет смотреться хорошо на всех буквах. Поскольку это эффект, результат будет меняться вместе с изменением основной формы, так что вы можете сразу видеть результат изменения (вместо того, чтобы каждый раз удалять контур и строить новый). После того, как вы нашли идеальные параметры, удалите эффект на панели Appearance (Оформление) и создайте его через меню Object (Объект).

Реальный контур предпочтительнее эффекта, поскольку мы можем манипулировать им отдельно, если в дальнейшем это понадобиться.

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

После этого я создал реальный параллельный контур (через меню) и переместил на задний план (Ctrl + Shift + [), чтобы добиться нужного мне эффекта. Затем снова выделил изначальный контур и создал еще один параллельный со значением -3 мм.

Для слова «This» на новом слое, я использовал шрифт Billhead от Letterhead fonts (bit.ly/1q9Cb1). Я создал плавный переход от буквы T к h, переведя буквы в контуры, разобрав оформление и объединив в один.

Я поместил слово «This» в общую композицию, и использовал горячую клавишу D, чтобы задать ему стандартное оформление. Я создал параллельный контур со смещением -1.5mm, задал этому контуру серую заливку и убрал обводку. Пока что я скрыл данный контур, чтобы он не отвлекал от работы с тенью слов.

Сперва сгруппируйте внутренний контур фразы Great Divide, и поместите его на новый слой сверху. Преобразуйте его в составной контур (Ctrl + 8), затем зажав Shift + Alt кликните и потяните, чтобы создать копию. Расположите копию так, как показано на рисунке. Выделите оба контура и используйте команду Minus Front (Минус верхний) на панели Pathfinder (Обработка контуров).

Залейте результат черным цветом и переместите его в изначальную фигуру, при этом задав ей цвет 50% серого.

Постройте две горизонтальные линии по ширине текста и, выделив их, примените команду Blend (Переход/ Ctrl + Alt + B). С помощью инструмента Direct Selection (Прямое выделение) выделите верхнюю линию и уменьшите толщину обводки. Переместите переход на задний план, выделите серый контур внутри букв и используйте его как маску для перехода.

Пришло время нарисовать отбрасываемую тень. Выделите все внешние контуры, скопируйте и вставьте их на новом слое на заднем плане (Ctrl + B). Преобразуйте их в составной контур. Скройте верхние слои, чтобы мы могли лучше видеть, что делаем.

Нажмите Ctrl + Shift + M , чтобы применить команду Move (Перемещение) и задайте параметры смещения по горизонтали и вертикали по 5 мм, нажмите Copy (Копировать). С использованием получившихся форм создайте Blend (Переход). С помощью одноименного инструмента (W), кликните по переходу, зажав клавишу Alt. В открывшемся окне опций для параметра Spacing (Интервалы) выберите Specified Distance (Заданные интервалы) со значением 0.4 мм и нажмите ОК. Разберите переход (Object > Expand…/Объект>Разобрать…), объедините их с помощью панели Pathfinder (Обработка контуров) и преобразуйте в составной контур.

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

Используя ту же технику с переходом, что и в шаге 13, создайте сетку из горизонтальных и вертикальных линий. Используйте самую нижнюю тень, чтобы создать составную маску (Ctrl + 5).

С помощью команды Move (Перемещение) скопируйте сетку со смещением в 8мм вправо вниз. Удалите вертикальные линии, чтобы немного ее облегчить. Выделите новый элемент и повторите перемещение. Сделайте новый объект светло-серым.

Я повторил шаг 14 и 15 для «This», а затем сделал все элементы видимыми.

Сохраните копию файла на случай, если вам понадобится к нему вернуться. Сгруппируйте все элементы, затем выберите команду Effect > Flag (Эффекты>Флаг). Используйте указанные на картинке параметры, чтобы немного изогнуть текст.

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

Источник:
http://cgmag.net/kak-sozdat-vintazhnuyu-nadpis-v-illyustratore