Общие сведения о выделениях (selections)


Содержание

Выделение узлов

Читайте также:

  1. I. Разрабатывается общая структура ИС с выделением функциональных и обеспечивающих подсистем.
  2. Архитектура персонального компьютера. Назначение основных узлов. Функциональные характеристики компьютера
  3. В этой лекции рассказывается о функциях основных узлов процессора, о методах адресации операндов и о регистрах процессора.
  4. Выделение
  5. Выделение
  6. Выделение галлия электролизом на ртутном катоде
  7. Выделение главной части функции.
  8. Выделение диаграммы
  9. Выделение диапазона ячеек
  10. Выделение и очистка
  11. Выделение областей
  12. Выделение объектов и изменение их размеров

Чтобы выделить узлы кривой с помощью инструмента Shape(Форма), выполните одно из следующих действий:

· для выделения группы узлов избирательно щелкайте на нужных узлах, удерживая нажатой клавишу Shift;

· с помощью прямоугольной рамки выделения; по умолчанию узлы можно выделять с помощью прямоугольной рамки выделения;

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

· с помощью рамки произвольной формы;

Примечание. Режим выделения прямоугольной рамкой и рамкой произвольной формы устанавливается с помощью списка Selection Mode(Режим выделения) панели Property Bar: Edit curve, polygon & envelope(Панель свойств: Редактировать кривую, многоугольник и оболочку), которая показана на рис. 5.3. По умолчанию в списке Selection Mode(Режим выделения) выбрана строка Rectangular(Прямоугольный). Если в этом списке выбрать строку Freehand(Свободная форма), тогда узлы кривой можно выделять, создавая рамку произвольной формы, как кривую с помощью одноименного инструмента панели Curve Flyout(Кривая).

· нажатие клавиши Tabпозволяет выделять узел, последовательно переходя от начального узла к конечному узлу;

· комбинация Shift+Tabопределяет обратный перебор выделяемых узлов – от конечного узла к начальному узлу;

· начальный узел кривой больше остальных. Его можно быстро выделить, нажав клавишу Home;

· чтобы выделить конечный узел кривой, нажмите клавишу End;

· чтобы выделить все узлы, воспользуйтесь одной из комбинаций клавиш: Ctrl+A, Ctrl+Home, Ctrl+End;

·
чтобы выделить все узлы, воспользуйтесь командой EditSelect AllNodes(Правка ► Выбрать все ► Узлы). Для ее использования не надо предварительно включать режим редактирования формы, достаточно выделить объект инструментом Pick(Указатель). Также для выделения всехузлов кривой можно воспользоваться кнопкой Select All Nodes(Выбратьвсе узлы) панели Property Bar: Edit curve, polygon & envelope(Панель свойств: Редактировать кривую, многоугольник и оболочку), как показано на рис. 5.4.

Перемещение узлов

Начинать перемещение узлов нужно с их выделения.

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

Для точного перемещения узлов используют инструмент Nudge Offset(Смещение при перемещении) – перемещают выделенные узлы с помощью клавиш управления курсором ¯, ®, ­и ¬или их Shift-комбинаций – для перемещения на удвоенное расстояние – инструмент Super Nudge(Большое перемещение) и Ctrl-комбинации – для перемещения узлов на уменьшенное в два раза расстояние – инструмент Micro Nudge(Микроперемещение). Напоминаем, что точность перемещения выделенных узлов при однократном нажатии одной из клавиш управления курсором определяется элементом управления Nudge Offset(Смещение при перемещении) панели Property Bar: No Selection(Панель свойств: Нет выделения). Для отображения этой панели свойств нужно нажать клавишу Escв режиме выделения объектов инструментом Pick(Указатель).

| следующая лекция ==>
Инструмент Shape | Добавление узлов и сегментов

Дата добавления: 2014-01-20 ; Просмотров: 287 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Выделение: Range, TextRange и Selection

Материал на этой странице устарел, поэтому скрыт из оглавления сайта.

Более новая информация по этой теме находится на странице https://learn.javascript.ru/selection-range.

В этой статье речь пойдёт о документированных, но нечасто используемых объектах Range , TextRange и Selection . Мы рассмотрим вольный перевод спецификаций с понятными примерами и различные кроссбраузерные реализации.

Эта статья представляет собой обновлённый вариант статьи Александра Бурцева, которой уже нет онлайн. Публикуется с его разрешения, спасибо, Александр!

Range

Range – это объект, соответствующий фрагменту документа, который может включать узлы и участки текста из этого документа. Наиболее подробно объект Range описан в спецификации DOM Range.

Чтобы понять о чем речь, обратимся к самому простому случаю Range , который будет подробно рассмотрен ниже – к выделениям. В приводимом ниже примере выделите несколько слов в предложении. Будет выводиться текстовое содержимое выделяемой области:

Но такие области можно создавать не только с помощью пользовательского выделения, но и из JavaScript-сценария, выполняя с ними определённые манипуляции. Однако, написать простой иллюстрирующий код сразу не выйдет, т.к. есть одно НО – Internet Explorer до версии 9. В Microsoft создали собственную реализацию – объект TextRange. Разберём каждую реализацию по-отдельности.

DOM-реализация Range (кроме IE8-)

Range состоит из двух граничных точек (boundary-points), соответствующих началу и концу области. Позиция любой граничной точки определяется в документе с помощью двух свойств: узел (node) и смещение (offset).

Контейнером (container) называют узел, содержащий граничную точку. Сам контейнер и все его предки называются родительскими контейнерами (ancestor containers) для граничной точки. Родительский контейнер, включающий обе граничные точки, называют корневым контейнером (root container).

На изображении выше граничные точки выделения лежат в текстовых узлах ( #text1 и #text2 ), которые являются контейнерами. Для левой границы родительскими контейнерами являются #text1 , H1 , BODY , для правой – #text2 , P , BODY . Общий родитель для обоих граничных точек – BODY , этот элемент является корневым контейнером.

Если контейнер является текстовым узлом, то смещение определяется в символах от начала DOM-узла. Если контейнер является элементом ( Document , DocumentFragment , Element …), то смещение определяется в дочерних узлах.

Смотрим на иллюстрацию (источник):

Граничные точки объекта Range s1 лежат в текстовых узлах, поэтому смещение задаётся в символах от начала узла. Для s2 граничные точки расставлены так, что включают весь абзац

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

Объекты Range создаются с помощью вызова document.createRange() . Объект при этом создаётся пустой, и граничные точки нужно задать далее его методами setStart и setEnd . Смотрим пример.

Свойство commonAncestorContainer вернёт ссылку на наиболее вложенный корневой контейнер.

Свойство startContainer ( endContainer ) вернёт ссылку на контейнер верхней (нижней) граничной точки.

Свойство startOffset ( endOffset ) вернёт смещение для верхней (нижней) граничной точки.

Свойство collapsed вернёт true , если граничные точки имеют одинаковые контейнеры и смещение ( false в противном случае).

Метод setStart ( setEnd ) задаёт контейнер (ссылка на узел) и смещение (целочисленное значение) для соответствующих граничных точек. Пример выше.

Методы setStartBefore , setStartAfter , setEndBefore , setEndAfter принимают в качестве единственного аргумента ссылку на узел и устанавливают граничные точки в соот-ии с естественной границей переданного узла. Например:

Методы selectNode и selectNodeContents позволяют создать объект Range по границам узла, ссылку на который они принимают в качестве единственного аргумента. При использовании selectNode передаваемый узел также войдёт в Range , в то время как selectNodeContents создаст объект только из содержимого узла:

Метод collapse объединяет граничные точки объекта Range . В качестве единственного аргумента принимает булево значение ( true – для объединения в верхней точке, false – в нижней). По-умолчанию true .

Метод toString вернёт текстовое содержимое объекта Range .

Метод cloneContents вернёт копию содержимого объекта Range в виде фрагмента документа.

Метод cloneRange вернёт копию самого объекта Range .

Метод deleteContents удаляет всё содержимое объекта Range .

Метод detach извлекает текущий объект из DOM, так что на него больше нельзя сослаться.

Метод insertNode принимает в качестве единственного аргумента ссылку на узел (или фрагмент документа) и вставляет его в содержимое объекта Range в начальной точке.

Метод extractContents вырезает содержимое объекта Range и возвращает ссылку на полученный фрагмент документа.

Метод surroundContents помещает всё содержимое текущего объекта Range в новый родительский элемент, ссылка на который принимается в качестве единственного аргумента.

Метод compareBoundaryPoints используется для сравнения граничных точек.

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


С остальными свойствами и методами поэкспериментируйте сами. Перейдём к реализации range в IE.

TextRange (для IE)

Объект TextRange в реализации MSIE – это текстовый диапазон нулевой и более длины. У данного диапазона также есть свои границы, «перемещать» которые можно на целое число текстовых единиц: character(символ), word (слово), sentence (предложение). То есть можно взять и сдвинуть границу на 2(5, 8 и т.д.) слова (символа, предложения) вправо (влево). При этом у объекта сохраняются данные о HTML-содержимом диапазона и есть методы взаимодействия с DOM.

Объект TextRange создаётся с помощью метода createTextRange , который можно вызывать в контексте элементов BODY , BUTTON , INPUT (большинство типов), TEXTAREA .

Простой пример с кнопкой:

Рассмотрим свойства и методы объекта TextRange (не все, только самые необходимые):

Свойство boundingWidth (boundingHeight) вернёт ширину (высоту), которую занимает объект TextRange в пикселях.

Свойство boundingTop ( boundingLeft ) вернёт Y(X)-координату верхнего левого угла тестовой области относительно окна документа.

Свойство htmlText вернёт HTML-содержимое объекта.

Свойство text вернёт текстовое содержимое объекта (см. пример выше).

Свойство offsetTop ( offsetLeft ) вернёт Y(X)-координату верхнего левого угла тестовой области относительно предка.

Метод collapse объединяет граничные точки диапазона. В качестве единственного аргумента принимает булево значение ( true – для объединения в верхней точке, false – в нижней). По-умолчанию true.

Метод duplicate клонирует имеющийся текстовый диапазон, возвращая новый, точно такой же.

Метод expand расширяет текущий тектовый диапазон до единицы текста, переданной в качестве единственного текстового аргумента:

  • «character’ – символ.
  • «word» – слово
  • «sentence» – предложение
  • «textedit» – сворачивает до первоначального диапазона.

Вернёт true ( false ) в случае успеха (неудачи).

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

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

Метод inRange принимает в качестве аргумента другой TextRange и проверяет, входит ли его текстовый диапазон в диапазон контекстного объекта. Возвращает булево значение.

Метод isEqual проверяет является ли текущий TextRange идентичным переданному в качестве аргумента. Возвращает булево значение.

Метод move(sUnit [, iCount]) сворачивает текущий диапазон до нулевой длины и передвигает на единицу текста, переданного в качестве первого аргумента (character | word | sentence | textedit). В качестве второго (необязательного) аргумента можно передать число единиц, на которое следует передвинуть диапазон.

Метод moveEnd ( moveStart ), аналогично методу move, передвигает верхнюю (нижнюю) границу диапазона на единицу текста, число которых также можно задать необязательным вторым параметром.

Метод moveToElementText принимает в качестве аргумента ссылку на DOM-элемент и выставляет границы диапазона Textобъекта Range по границам полученного элемента.

Метод moveToPoint принимает в качестве двух обязательных аргументов X и Y-координаты (в пикселях) относительно верхнего левого угла документа и переносит границы диапазона туда.

Метод parentElement вернёт ссылку на элемент, который полностью содержит диапазон объекта TextRange (или null ).

Метод pasteHTML заменяет HTML-содержимое текущего текстового диапазона на строку, переданную в качестве единственного аргумента.

Метод select формирует выделение на основе содержимого объекта TextRange , о чем мы подробнее поговорим ниже.

Метод setEndPoint принимает в качестве обязательных аргументов текстовый указатель и ссылку на другой TextRange , устанавливая в зависимости от значения указателя границы диапазона. Указатели могут быть следующими: „StartToEnd“, „StartToStart“, „EndToStart“, „EndToEnd“.

Также к TextRange применимы команды метода execCommand, который умеет делать текст жирным, курсивным, копировать его в буфер обмена (только IE) и т.п.

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

С остальными свойствами и методами поэкспериментируйте сами.

Selection

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

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

Эту задачу мы уже решали в самом начале статьи в примере с миксом. Теперь рассмотрим код:

Все браузеры, кроме IE8- поддерживают метод window.getSelection() , который возвращает объект, схожий с рассмотренным ранее Range . У этого объекта есть точка начала выделения (anchor) и фокусная точка окончания (focus). Точки могут совпадать. Рассмотрим свойства и методы объекта Selection :

  • Свойство anchorNode вернёт контейнер, в котором начинается выделение. Замечу, что началом выделения считается та граница, от которой вы начали выделение. То есть, если вы выделяете справа налево, то началом будет именно правая граница. Это правило работает везде, кроме браузера Opera, в котором anchorNode вернёт ссылку на узел левого края выделения.
  • Свойство anchorOffset вернёт смещение для начала выделения в пределах контейнера anchorNode .
  • Свойства focusNode и focusOffset работают аналогично для фокусных точек, то есть точек окончания выделения. Opera и здесь отличилась, возвращает вместо фокусной точки узел правого края выделения.
  • Свойство rangeCount возвращает число объектов Range , которые входят в полученное выделение. Это свойство полезно при использовании метода addRange .
  • Метод getRangeAt принимает в качестве аргумента индекс объекта Range и возвращает сам объект. Если rangeCount == 1 , то работать будет только getRangeAt(0) . Таким образом, мы можем получить объект Range , полностью соответствующий текущему выделению.
  • Метод collapse сворачивает выделение в точку (каретку). Методу можно передать в качестве первого аргумента узел, в который нужно поместить каретку.
  • Метод extend принимает в качестве аргументов ссылку на контейнер и смещение ( parentNode , offset ), и перемещает фокусную точку в это положение.
  • Метод collapseToStart ( collapseToEnd ) перемещает фокусную (начальную) границу к начальной (фокусной), тем самым сворачивая выделение в каретку.
  • Метод selectAllChildren принимает в качестве единственного аргумента ссылку на узел и добавляет всех его потомков в выделение.
  • Метод addRange принимает в качестве аргумента объект Range и добавляет его в выделение. Таким образом можно увеличить количество объектов Range , число которых нам подскажет свойство rangeCount .
  • Метод removeRange ( removeAllRanges ) удаляет переданный (все) объект Range из выделения.
  • Метод toString вернёт текстовое содержимое выделения.

IE предоставляет собственный интерфейс взаимодействия с выделениями – объект selection в контексте document. Для работы с этим объектом используются следующие методы:

  • Метод clear убирает выделение вместе с содержимым.
  • Метод createRange (ВАЖНО! Не путать со стандартным методом document.createRange() для создания объектов Range !) создаёт из содержимого выделения TextRange .
  • Метод empty убирает выделение, но оставляет содержимое.

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

Установка собственного выделения

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

Проще всего решить эту задачу следующим образом:

  1. Создать объект Range ( TextRange для IE8-).
  2. Перевести полученный объект в выделение.

37. Свиток Soft Selection (Мягкое Выделение)

Настройки этого свитка предназначены для расширения возможностей выделения подобъектов и задают закон распространения трансформаций по объему редактируемого каркаса (рис. 5.68):

РИСУНОК 5.68. Инструменты Мягкого Выделения

  • Use Soft Selection (Включить Мягкое Выделение) — управляет активизацией этого режима.
  • Edge Distance (Реберное Расстояние) — задает число ребер, попадающих в «зону влияния» трансформаций.
  • Affect Backfacing (Воздействовать на Тыльные Грани) — задействует все грани каркаса.
  • Falloff (Спад), Pinch (Сужение), Bubble (Вздутие) — настраивают внешний вид функциональной кривой распространения трансформаций.

РИСУНОК 5.69. Отображение режима Мягкого Выделения

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

При различных значениях счетчиков Falloff (Спад), Pinch (Сужение) и Bubble (Вздутие) трансформации выбранной вершины по-разному передаются всем «подчиненным» вершинам (рис. 5.70).

РИСУНОК 5.70. Варианты использования режима Мягкого Выделения


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

Быстрое выделение областей

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

Инструмент «Выделение объектов»

Реализовано в выпуске Photoshop 21.0 (ноябрь 2020 г.)

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

  • с главной панели «Инструменты» приложения в Photoshop;
  • с панели «Инструменты» в рабочем пространстве Выделение и маска.

Чем инструмент «Выделение объектов» отличается от команды «Выделить предмет»?

Инструмент «Выделение объектов» полезен, когда требуется выделить только один из объектов или часть объекта в изображении, содержащем несколько объектов. А команда «Выделить предмет» предназначена для выделения всех основных предметов в изображении.

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

Выберите инструмент Выделение объектов на панели «Инструменты».

Выберите режим выделения и определите область вокруг объекта.

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

  • Режим «Прямоугольник»: перетащите указатель для определения прямоугольной области вокруг объекта.
  • Режим «Лассо»: нарисуйте приблизительную линию лассо за пределами объекта.

Photoshop автоматически выделяет объект внутри заданной области.

(Необязательно) Вычитание или добавление выделенной области

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

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


Добавление к выделенной области

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


Вычитание из выделенной области

Есть два варианта вычитания из выделенной области.

1. С использованием команды «Вычесть из выделенной области» на панели параметров

  1. Выключите параметр Вычитание объекта на панели параметров.
  2. Удерживайте клавишу «Option» (Mac)/«Alt» (Win) или выберите команду Вычесть из выделенной области на панели параметров, затем нарисуйте точный прямоугольник или лассо вокруг ненужной области.

2. С использованием команды «Вычитание объекта» на панели параметров

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

  1. Включите инструмент Вычитание объекта на панели параметров.
  2. Удерживайте клавишу «Option» (Mac)/«Alt» (Win) или выберите команду Вычесть из выделенной области на панели параметров, затем нарисуйте точный прямоугольник или лассо вокруг ненужной области.

(Необязательно) Выберите параметры выделения объекта

Образец со всех слоев : создает выделенную область на основе всех слоев, а не только выделенного в данный момент слоя.

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

(Необязательно) Дальнейшее уточнение края выделенной области в рабочем пространстве «Выделение и маска»

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

Выделить предмет

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

Функцию Выделить предмет в Photoshop можно вызвать одним из следующих способов:

  • В процессе редактирования изображения выберите Выделить > Предмет .
  • Когда активен инструмент Выделение объектов , щелкните Выделить предмет на панели параметров.
  • Когда активен инструмент Быстрое выделение или Волшебная палочка , щелкните Выделить предмет на панели параметров.
  • Когда активен инструмент Быстрое выделение в рабочей среде Выделение и маска, щелкните Выделить предмет на панели параметров.

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

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

Все о выделениях из влагалища: причины и лечение

Сайт предоставляет справочную информацию исключительно для ознакомления. Диагностику и лечение заболеваний нужно проходить под наблюдением специалиста. У всех препаратов имеются противопоказания. Консультация специалиста обязательна!

Выделения из влагалища: причины и лечение в зависмости от цвета, запаха, консистенции и других факторов

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

  • Кандидоз (молочница)
  • Урогенитальный трихомониаз
  • Бактериальный вагиноз

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

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

  • Культуральный метод исследования – выращивание колоний микроорганизмов, взятых из влагалища, на специальных питательных средах и их дальнейшее изучение.
  • Микроскопическое исследование неокрашенного (нативного) мазка, взятого из влагалища.
  • ПЦР (полимеразная цепная реакция) метод исследования, предусматривающий изучение генетического материала Трихомонас вагиналис .
  • Исследование под микроскопом окрашенного мазка из влагалища. Окрашивают его специальными красителями.

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

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

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

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

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

Терапия бактериального вагиноза предусматривает использование местных препаратов, а именно:

  • Вагинальные свечи клиндамицин (сто миллиграмм) – необходимо вводить во влагалище один раз в день в течение шести дней.
  • Гель метронидазол семидесяти пяти процентный – необходимо вводить во влагалище один раз в день в течение пяти дней.

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

  • Орнисид форте следует принимать внутрь по пятьсот миллиграмм утром и вечером в течение пяти дней.
  • Клиндамицин принимают в капсулах по триста миллиграмм утром и вечером в течение семи дней.
  • Метронидазол (Трихопол) в форме таблеток по двести пятьдесят миллиграмм. Следует принимать по две таблетки утром и вечером в течение семи дней.

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

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

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

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

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

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

  • Итраконазол (Ирунин, Орунгал) следует принимать по двести миллиграмм один раз в сутки в течение трех дней.
  • Флуконазол (Дифлюкан, Флюкостат, Микомакс) — используют по нескольким схемам терапии: сто пятьдесят миллиграмм однократно, либо по сто миллиграмм в первый, четвертый, а также седьмой день терапии.

Местная терапия инфекционно-воспалительных заболеваний женской половой системы не только позволяет уничтожить болезнетворные микроорганизмы, но и неизбежно приводит к нарушению баланса полезной микрофлоры влагалища и снижению местного иммунитета. Если не произвести быстрое восстановление лактофлоры, возможна активация условно патогенной микрофлоры, которая приведет к обострению молочницы или бактериальных инфекций. По той же причине может быть недостаточно эффективной и противогрибковая терапия вагинального кандидоза. Поэтому важно после первого этапа лечения, направленного на уничтожение инфекции, провести второй этап — восстановить баланс полезной микрофлоры при помощи капсул Лактожиналь. Это единственный зарегистрированный на территории Российской федерации препарат-трибиотик. Лактожиналь быстро восстанавливает рH, микрофлору влагалища и надолго защищает от повторного обострения бактериального вагиноза и молочницы. Двухступенчатая терапия в последнее время стала золотым стандартом лечения состояний, сопровождающихся паталогическими выделениями. Многие специалисты уверены, что только такой метод позволяет обеспечить выраженный и долговременный лечебный эффект, укрепить местный иммунитет что служит профилактикой последующих обострений.

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

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

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

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

Когда нужно обращаться к врачу при влагалищных выделениях?

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

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

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

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

К какому врачу обращаться при патологических выделениях из влагалища?

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

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

Какие исследования могут назначить врачи при влагалищных выделениях?

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

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

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

Если кровотечение незначительное или носит характер кровомазания, то врач в ходе осмотра устанавливает состояние шейки матки и тканей влагалища. Если на шейке матки имеются повреждения, например, эрозия, травма внутриматочной спиралью или иным предметом, то назначается кольпоскопия (записаться) и забор мазка на цитологию (записаться), а также удаление травмирующего предмета и, при необходимости, ушивание раны. Кроме того, при наличии эрозии шейки матки врач может назначить анализы на наличие вирусов герпеса, вируса папилломы человека (записаться), цитомегаловируса (записаться), вируса Эпштейна-Барр. Если же шейка матки не имеет повреждений, то и при незначительном кровотечении/кровомазании назначается гистероскопия, диагностическое выскабливание и УЗИ.

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

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

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

Если же гонококки, трихомонады или бледные трепонемы не обнаружены, то назначается анализ на уреаплазму (записаться), хламидии (записаться), микоплазму (записаться), гарднерелл, бактероидов. Анализы на данные возбудители могут быть различными – бактериологический посев, ПЦР, ИФА и различные способы забора и окраски мазков из влагалища. Выбор анализа осуществляется врачом и зависит, главным образом, от технических возможностей медицинского учреждения или от финансовых возможностей пациентки, так как наиболее точные анализы чаще всего приходится сдавать в частных лабораториях платно.

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

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

О чем расскажут выделения на ранних сроках беременности?

Автор: Пашков М.К. Координатор проекта по контенту.

Свойство RecordSelectors (Область выделения)

Применение

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

выражение (обязательно). Выражение, возвращающее один из объектов из списка «Применение».

Замечания

Свойство RecordSelectors может принимать следующие значения:

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

Ни одна из записей не имеет области маркировки.

Примечание: Это свойство можно задать с помощью страницы свойств формы, макроса или кода Visual Basic для приложений (VBA).

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

Во время редактирования записи в области маркировки отображается индикатор несохраненной записи. Если для свойства RecordSelectors задано значение «Нет», а свойство RecordLocks (Блокировка записей) имеет значение «Изменяемой записи» (пессимистическая блокировка: изменять запись может только один пользователь), видимого признака блокировки данной записи не будет.

Пример

В следующем примере показано, что в форме Employees ни одна из записей не имеет области маркировки.


Range, TextRange и Selection

Многим JavaScript-разработчикам приходилось сталкиваться с объектами, перечисленными в заголовке, например, при решении следующих задач:
— создание визуальных редакторов (wysiwyg),
— поиск в окне браузера,
— выставление BB-кода,
и т.д.

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

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

1. Range

Range — это объект, соответствующий фрагменту документа, который может включать узлы и участки текста из этого документа. Наиболее подробно о Range-объектах изложено в DOM Range.

Чтобы понять о чем речь, обратимся к самому простому случаю Range-объектов, который будет подробно рассмотрен ниже, — к выделениям. В приводимом ниже примере выделите несколько слов в предложении. Тем самым вы будете создавать объекты, похожие на Range. В нашем примере мы получим текстовое содержимое выделяемой вами области.

Но такие области можно создавать не только с помощью пользовательского выделения, но и из JavaScript-сценария, выполняя с ними определенные манипуляции. Однако, написать простой иллюстрирующий код сразу не выйдет, т.к. есть одно НО — Internet Explorer. В Micsosoft создали собственную реализацию — объект TextRange. Разберем каждую реализацию по-отдельности.

1.1 DOM-реализация Range

Range состоит из двух граничных точек (boundary-points), соответствующих началу и концу области. Позиция любой граничной точки определяется в документе с помощью двух свойств: узел (node) и смещение (offset). Контейнером (container) называют узел, содержащий граничную точку. Сам контейнер и все его предки называются родительскими контейнерами (ancestor containers) для граничной точки. Родительский контейнер, включающий обе граничные точки, называют рут-контейнером (root container).

На изображении выше граничные точки выделения лежат в текстовых узлах (#text1 и #text2), которые являются контейнерами. Для левой границы родительскими контейнерами являются #text1, H1, BODY, для правой — #text2, P, BODY. Общий родитель для обоих граничных точек — BODY, этот элемент является рут-контейнером.

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

Если контейнер является текстовым узлом, то смещение определяется в символах от начала ноды. Если контейнер является элементом (Document, DocumentFragment, Element. ), то смещение определяется в дочерних узлах.

Смотрим на иллюстрацию (источник):

Граничные точки Range-объекта s1 лежат в текстовых узлах, поэтому смещение задается в символах от начала узла. Для s2 граничные точки расставлены так, что включают весь абзац

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

Range-объекты создаются с помощью метода creareRange, который вызывается в контексте рут-контейнера или документа. Объект при этом создается пустой, и граничные точки задаются методами setStart и setEnd объекта. Смотрим пример:

div id =»ex2″ >
h2 > Соз|даем Range-объекта h2 >
p > От третье|го символа заголовка до десятого символа это абзаца. p >
div >

$domRange = <
create : function () <
// Найдем root-контейнер
var root = document .getElementBy >’ex2′ );
// Найдем контейнеры граничных точек (в данном случае тестовые)
var start = root.getElementsByTagName( ‘h2’ )[0].firstChild;
var end = root.getElementsByTagName( ‘p’ )[0].firstChild;
if ( root.createRange ) <
// Создаем Range
var rng = root.createRange();
// Задаем верхнюю граничную точку, передав контейнер и смещение
rng.setStart( start, 3 );
// Аналогично для нижней границы
rng.setEnd( end, 10 );
// Теперь мы можем вернуть текст, который содержится в полученной области
return rng.toString();
> else
return ‘Вероятно, у вас Internet Explorer, смотрите реализацию TextRange ниже’ ;
>
>

Рассмотрим вкратце свойства и методы Range:

  • Свойство commonAncestorContainer вернет ссылку на наиболее вложенный рут-контейнер.
  • Свойство startContainer (endContainer) вернет ссылку на контейнер верхней (нижней) граничной точки.
  • Свойство startOffset (endOffset) вернет смещение для верхней (нижней) граничной точки.
  • Свойство collapsed вернет true, если граничные точки имеют одинаковые контейнеры и смещение (false в противном случае).

  • Метод setStart (setEnd) задает контейнер (ссылка на узел) и смещение (целочисленное значение) для соот-их граничных точек. Пример выше.
  • Методы setStartBefore, setStartAfter, setEndBefore, setEndAfter принимают в качестве единственного аргумента ссылку на узел и устанавливают граничные точки в соот-ии с естественной границей переданного узла. Например:
    span id =»s1″ > First span >
    span id =»s2″ > Second span >
    var rng = document .createRange();
    // Установит верхнюю граничную точку по левой границе спана #s1
    rng.setStartBefore( document .getElementBy >’s1′ ) );
    // Установит нижнюю граничную точку по правой границе спана #s2
    rng.setEndAfter( document .getElementBy >’s2′ ) );
  • Методы selectNode и selectNodeContents позволяют создать Range-объект по границам узла, ссылку на который они принимают в качестве единственного аргумента. При использовании selectNode передаваемый узел также войдет в Range, в то время как selectNodeContents создаст объект только из содержимого узла:
  • Метод collapse объединяет граничные точки Range-объекта. В качестве единственного аргумента принимает булево значение (true &mdash для объединения в верхней точке, false &mdash в нижней). По-умолчанию true.
  • Метод toString вернет текстовое содержимое Range-объекта.
  • Метод cloneContents вернет копию содержимого Range-объекта в виде фрагмента документа.
  • Метод cloneRange вернет копию самого Range-объекта.
  • Метод deleteContents удаляет всё содержимое Range-объекта.
  • Метод detach извлекает текущий объект из DOM, так что на него больше нельзя сослаться.
  • Метод insertNode принимает в качестве единственного аргумента ссылку на узел (или фрагмент документа) и всталяет его в содержимое Range-объекта в начальной точке.
  • Метод extractContents вырезает содержимое Range-объекта и возвращает ссылку на полученный фрагмент документа.
  • Метод surroundContents помещает всё содержимое текущего Range-объекта в новый родительский элемент, ссылка на который принимается в качестве единственного аргумента.
  • Метод compareBoundaryPoints используется для сравнения граничных точек.

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

div id =»ex3″ >
Найдем в этом тексте слово «бабуля» и подсветим его синим фоном
div >

$domRange.highlight = function ( text ) <
// Получим текстовый узел
var root = document .getElementBy >’ex3′ ).firstChild;
// и его содержимое
var content = root.nodeValue;
// Проверим есть ли совпадения с переданным текстом
if ( content.indexOf( text ) != -1 ) <
if ( document .createRange ) <
// Если есть совпадение, и браузер поддерживает Range, создаем объект
var rng = document .createRange();
// Ставим верхнюю границу по индексу совпадения,
rng.setStart( root, content.indexOf( text ) );
// а нижнюю по индексу + длина текста
rng.setEnd( root, content.indexOf( text ) + text.length );
// Создаем спан с синим фоном
var highlightDiv = document .createElement( ‘span’ );
highlightDiv.style.backgroundColor = ‘blue’ ;
// Обернем наш Range в спан
rng.surroundContents( highlightDiv );
> else
alert( ‘Вероятно, у вас Internet Explorer, смотрите реализацию TextRange ниже’ );
> else
alert( ‘Совпадений не найдено’ );
>

С остальными свойствами и методами поэкспериментируйте сами.
Перейдем к реализации range в MSIE.

1.2. TextRange

Объект TextRange в реализации MSIE — это текстовый диапазон нулевой и более длины. У данного диапазона также есть свои границы, «перемещать» которые можно на целое число текстовых едениц: character(символ), word (слово), sentence (предложение). То есть можно взять и сдвинуть границу на 2(5, 8 и т.д.) слова (символа, предложения) вправо (влево). При этом у объекта сохраняются данные о HTML-содержимом диапазона и есть методы взаимодействия с DOM.

Объект TextRange создается с помощью метода createTextRange, который можно вызывать в контексте следующих DOM-элементов:

BODY, BUTTON, INPUT type=button, INPUT type=h >

Простой пример с кнопкой:

input id =»buttonId» type =»button» value =»Test button» />

$ieTextRange = <
create : function () <
// Найдем кнопку
var button = document .getElementBy >’buttonId’ );
// Если мы в ИЕ
if ( button.createTextRange && button.createTextRange() != undefined ) <
// Создаем TextRange
var rng = button.createTextRange();
// И вернем текстовое содержимое полученного объекта
return rng.text;
> else
return ‘Вероятно, у вас не IE (поздравляем!), смотрите реализацию Range выше’ ;
>
>

Рассмотрим свойства и методы объекта TextRange (не все, только самые необходимые):

  • Свойство boundingWidth (boundingHeight) вернет ширину (высоту), которую занимает объект TextRange в пикселях.
  • Свойство boundingTop (boundingLeft) вернет Y(X)-координату верхнего левого угла тестовой области относительно окна документа.
  • Свойство htmlText вернет HTML-содержимое объекта.
  • Свойство text вернет текстовое содержимое объекта (см. пример выше).
  • Свойство offsetTop (offsetLeft) вернет Y(X)-координату верхнего левого угла тестовой области относительно предка.

  • Метод collapse объединяет граничные точки диапазона. В качестве единственного аргумента принимает булево значение (true &mdash для объединения в верхней точке, false &mdash в нижней). По-умолчанию true.
  • Метод duplicate клонирует имеющийся текстовый диапазон, возвращая новый, точно такой же.
  • Метод expand расширяет текущий тектовый диапазон до еденицы текста, переданной в качестве единственного текстового аргумента:
    ‘character’ — символ
    ‘word’ — слово
    ‘sentence’ — предложение
    ‘textedit’ — сворачивает до первоначального диапазона.
    Вернет true (false) в случае успеха (неудачи).
  • Метод findText ищет в диапазоне совпадения с текстовой строкой, передаваемой в качестве первого аргумента (без учета регистра). Если совпадение найдено, то границы диапазона сворачиваются до него. В качестве второго (необязательного) аргумента можно передать целое число, указывающее число символов от верхней точки, в которых нужно производить поиск. Далее в качестве аргументов можно перечислять INT-флаги, которые вам вряд ли понадобятся.
  • Метод getBookmark возвращает в случае успешного вызова строку, по которой можно будет восстановить текущее состояние текстового диапазона с помощью метода moveToBookmark.
  • Метод inRange принимает в качестве аргумента другой TextRange-объект и проверяет, входит ли его текстовый диапазон в диапазон контекстного объекта. Возвращает булево значение.
  • Метод isEqual проверяет является ли текущий TextRange-объект идентичным переданному в качестве аргумента. Возвращает булево значение.
  • Метод move(sUnit [, iCount]) сворачивает текущий диапазон до нулевой длины и передвигает на еденицу текста, переданного в качестве первого аргумента (character | word | sentence | textedit). В качестве второго (необязательного) аргумента можно передать число едениц, на которое следует передвинуть диапазон.
  • Метод moveEnd (moveStart), аналогично методу move, передвигает верхнюю (нижнюю) границу диапазона на еденицу текста, число которых также можно задать необязательным вторым параметром.
  • Метод moveToElementText принимает в качестве аргумента ссылку на DOM-элемент и выставляет границы диапазона TextRange-объекта по границам полученного элемента.
  • Метод moveToPoint принимает в качестве двух обязательных аргументов X и Y-координаты (в пикселях) относительно верхнего левого угла документа и переносит границы диапазона туда.
  • Метод parentElement вернет ссылку на элемент, который полностью содержит диапазон TextRange-объекта (или null).
  • Метод pasteHTML заменяет HTML-содержимое текущего текстового диапазона на строку, переданную в качестве единственного аргумента.
  • Метод select формирует выделение на основе содержимого TextRange-объекта, о чем мы подробнее поговорим ниже.
  • Метод setEndPoint принимает в качестве обязательных аргументов текстовый указатель и ссылку на другой TextRange-объект, устанавливая в зависимости от значения указателя границы диапазона. Указатели могут быть следующими: ‘StartToEnd’, ‘StartToStart’, ‘EndToStart’, ‘EndToEnd’.

Также к TextRange-объектам применимы команды метода execCommand.

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

div id =»ex4″ >
Найдем в этом тексте слово «бабуля» и подсветим его синим фоном
div >

$ieTextRange.highlight = function ( text ) <
// Получим ссылку на элемент, в котором будет происходить поиск
var root = document .getElementBy >’ex4′ );
// Получим значение его текстового потомка
var content = root.firstChild.nodeValue;
// Если есть совпадение
if ( content.indexOf( text ) != -1 ) <
// и мы в MSIE
if ( document .body.createTextRange ) <
// Создадим объект TextRange
var rng = document .body.createTextRange();
// Свернем его до root
rng.moveToElementText( root );
// Найдем текст и свернем диапазон до него
if ( rng.findText( text ) )
// Заменим текстовый фрагмент на span с синим фоном
rng.pasteHTML( ‘ ‘ + text + ‘ ‘ );
> else
alert( ‘Вероятно, у вас не IE (поздравляем!), смотрите реализацию Range выше’ );
> else
alert( ‘Совпадений не найдено’ );
>

С остальными свойствами и методами поэкспериментируйте сами.

2. Selection

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

2.1. Получаем пользовательское выделение

Эту задачу мы уже решали в самом начале статьи в примере с миксом. Теперь рассмотрим код:

$selection = <
getText : function () <
var txt = » ;
if (txt = window.getSelection) // Not IE, используем метод getSelection
txt = window.getSelection().toString();
else // IE, используем объект selection
txt = document .selection.createRange().text;
return txt;
>
>

Все браузеры, кроме Internet Explorer поддерживают метод getSelection в контексте window, который возвращает объект, схожий с рассмотренным ранее Range. У этого объекта есть точка начала выделения (anchor) и фокусная точка окончания (focus). Точки могут совпадать. Рассмотрим свойства и методы Selection-объекта:

  • Свойство anchorNode вернет контейнер, в котором начинается выделение. Замечу, что началом выделения считается та граница, от которой вы начали выделение. То есть, если вы выделяете справа налево, то началом будет именно правая граница. Это правило работает везде, кроме браузера Opera, в котором anchorNode вернет ссылку на узел левого края выделения.
  • Свойство anchorOffset вернет смещение для начала выделения в пределах контейнера anchorNode.
  • Свойства focusNode и focusOffset работают аналогично для фокусных точек, то есть точек окончания выделения. Opera и здесь отличилась, возвращает вместо фокусной точки узел правого края выделения.
  • Свойство rangeCount возвращает число Range-объектов, которые входят в полученное выделение. Это свойство полезно при использовании метода addRange.

  • Метод getRangeAt принимает в качестве аргумента индекс Range-объекта и возвращает сам объект. Если rangeCount == 1, то работать будет только getRangeAt(0). Таким образом, мы можем получить Range-объект, полностью соответствующий текущему выделению.
  • Метод collapse сворачивает выделение в точку (каретку). Методу можно передать в качестве первого аргумента узел, в который нужно поместить каретку.
  • Метод extend принимает в качестве аргументов ссылку на контейнер и смещение (parentNode, offset), и перемещает фокусную точку в это положение.
  • Метод collapseToStart (collapseToEnd) перемещает фокусную (начальную) границу к начальной (фокусной), тем самым сворачивая выделение в каретку.
  • Метод selectAllChildren принимает в качестве единственного аргумента ссылку на узел и добавляет всех его потомков в выделение.
  • Метод addRange принимает в качестве аргумента Range-объект и добавляет его в выделение. Таким образом можно увеличить количество Range-объектов, число которых нам подскажет свойство rangeCount.
  • Метод removeRange (removeAllRanges) удаляет переданный (все) Range-объект из выделения.
  • Метод toString вернет текстовое содержимое выделения.

Internet Explorer предоставляет собственный интерфейс взаимодействия с выделениями — объект selection в контексте document. Для работы с этим объектом используются следующие методы

  • Метод clear убирает выделение вместе с содержимым.
  • Метод createRange (ВАЖНО! Не путать с DOM-методом createRange для создания Range-объектов!) создает из содержимого выделения TextRange-объект.
  • Метод empty убирает выделение, но оставляет содержимое.

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

2.1. Установка собственного выделения

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

  1. Создать Range-объект (TextRange для IE).
  2. Перевести полученный объект в выделение.

Смотрим реализацию:

div id =»ex5″ >
Снова будем выделять span > бабулю span > , на этот раз без поиска.
div >

$selection.set = function () <
var target = document .getElementBy >’ex5′ ).getElementsByTagName( ‘span’ )[0];
var rng, sel;
if ( document .createRange ) <
rng = document .createRange();
rng.selectNode( target )
sel = window.getSelection();
sel.removeAllRanges();
sel.addRange( rng );
> else <
var rng = document .body.createTextRange();
rng.moveToElementText( target );
rng.select();
>
>

3. Послесловие

Осмысливая в процессе написания статьи предоставляемое API, возникла идея создать небольшую библиотеку, которая научит IE DOM-реализации Range и Selection. Возможно, она даже существует, тогда автор вам будет благодарен за ссылку и экономию собственного времени.

Описание API не претендует на полноту и точность перевода, но автору этого вполне достаточно для комфортной JavaScript-разработки. С оригиналами на английском вы можете ознакомиться по ссылкам ниже.

Инструмент «Быстрое выделение» (Quick Selection) в Фотошопе


В этом уроке мы рассмотрим основы работы с инструментом «Быстрое выделение» (Quick Selection) в Фотошопе.

Версия Photoshop: Photoshop CS4 (2008)

Сложность: Низкая

Дата: 13.08.2011

Обновлено: 25.08.2020

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

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

В Adobe Photoshop CS3+ включен спасительный инструмент выделения, который дает пользователям большой контроль над качеством выделения. Он назван «Quick Selection Tool» (Инструмент «Быстрое выделение»), вы найдете его в панели инструментов в паре с инструментом «Magic Wand» (Волшебная палочка). Adobe признали превосходство этого инструмента над «Magic Wand» (Волшебной палочкой) настолько, что в панели инструментов поместили его вместе с ней (Волшебная палочка теперь находится в выпадающем меню для этих двух инструментов).

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

Шаг 1

«Quick Selection Tool» (Инструмент «Быстрое выделение») скрыто в панели инструментов и чем-то похоже на «Magic Wand» (Волшебную палочку).

Как и многие другие инструменты, «Quick Selection Tool» (Инструмент «Быстрое выделение») принимает форму кистей.

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

Шаг 2

Этот инструмент так хорош…. Мне он кажется более интуитивным и точным, чем «Magic Wand» (Волшебная палочка). Вам не нужно закрашивать всю необходимую область, инструмент сам регулирует выделение, закрашивайте области лишь для того, чтобы определить выделение и края.

Шаг 3

Что делать, когда выделен нежелательный участок?

Просто уменьшите размер кисти, затем удерживая Alt, сотрите участок!

Шаг 4

Что делать, если мы сняли выделение?

Если мы вырезали объект с заднего фона, а его края получились зазубренными или размытыми?

Мы еще не закончили. Вы можете не только проверить выделение перед применением, вы также можете уточнить его и посмотреть, как оно будет выглядеть в режиме «Quick Mask» (Быстрой маски), на черном или белом фоне, и даже, как маска слоя.

В панели настроек есть кнопка, именуемая «Refine Edge» (Уточнить край) (Прим. Select — Refine Edge (Выделение — Уточнить край / Alt+Ctrl+R)). Она открывает диалоговое окно для инструмента выделения.

В нем вы можете регулировать Radius (Радиус) и Contrast (Контраст), а также размытие выделения, уменьшать или увеличивать размер выделения (на небольшие значения), разглаживать края выделения, чтобы убрать «огрызки» без размытия краев и выполнять пр. комбинации этих настроек для уточнения края.

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

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

Шаг 5

Это краткий обзор, но я надеюсь, что он дал вам общее представление о столь долгожданном и могущественном инструменте в мире Adobe Photoshop. Не принимайте мои слова за чистую монету…. Попробуйте сами!

Инструмент «Быстрое выделение» (Quick Selection Tool)

В предыдущем уроке мы рассмотрели теоретические вопросы, практический пример и область применения инструмента «Волшебная палочка» (Magic Wand Tool). «Палочка» эффективна для выделения больших участков с однотонным или не слишком отличающимся цветом, т.е. для весьма узкого круга задач.

Но если какой-либо из инструментов выделения Photoshop заслуживают того, чтобы в его названии звучало слово называться «магия», то это не «Волшебная палочка». Это инструмент, который мы будем рассмотрим в этом уроке — «Быстрое выделение» (Quick Selection Tool).

Впервые представленный в Photoshop CS3, инструмент «Быстрое выделение» (Quick Selection Tool) несколько похож на Magic Wand тем, что он также выбирает пиксели на основе тона и цвета. Но возможности инструмента «Быстрое выделение» далеко выходят за рамки ограниченных возможностей «Волшебной палочки», т.к. он также ищет аналогичные текстуры в изображении, что делает его очень эффективным при обнаружении краёв объектов. И в отличие от «Палочки», где мы просто кликаем по какой-либо области и надеемся на лучшее, инструмент «Быстрое выделение» работает больше как кисть, что позволяет нам самостоятельно указывать области для выделения.

В самом деле, как мы увидим из этого урока, при выполнении большинства задач инструмент работает так эффективно и быстро, что если вы используете версию Photoshop CS3 или выше (я использую здесь Photoshop CC), инструмент «Быстрое выделение» может стать Вашим главным инструментом выделения.

Выбор инструмента «Быстрое выделение»

Инструмент расположен на инструментальной панели в верхней части, в одном кластере с «Волшебной палочкой». Также его можно выбрать нажатием клавиши W, либо, если на момент выбора первая в кластере «Волшебная палочка, клавишами Shift+W.

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

Граница круга показывает радиус отбора пикселей для анализа.

Создание выделения

Для примера я возьму следующее изображение:

На этом фото я хочу обесцветить окружающий фон и оставить в цвете основной объект (ребенок толкает тачку, наполненную тыквами) и раскрасить все остальное фона одним цветом. Для выполнения данной задачи я должен выделить этот основной объект. Я мог бы попробовать рисовать границу выделения от руки с помощью обычного или прямолинейного лассо, но использовать лассо слишком долго, да и выделение такого объекта с помощью этих инструментов будет выглядеть непрофессионально. «Перо» (Pen Tool) подойдёт для выполнения задачи, но потребуется очень много времени на обрисовку контуров и последующее сглаживание.

В моём случае, оптимальным инструментом будет «Быстрое выделение «Quick Selection Tool».

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

Начало положено. Но, очевидно, к существующей выделенной области мне необходимо добавить намного больше. Обычно, чтобы добавить к выделению, нужно переключить инструмент в режим «Добавить к выделению», а для этого зажать клавишу Shift. Но инструмент «Быстрое выделение» в этом отличается от остальных инструментов выделения Photoshop. Он изначально, по умолчанию, находится в режиме «Добавить к выделению», это показывает небольшой плюс (+) в центре курсора.

Если вы посмотрите на панель параметров в верхней части экрана, вы увидите панель из трех иконок, которые позволяют нам переключаться между тремя режимами выбора, слева направо: Новая выделенная область (New selection), Добавить к выделенной области (Add to selection) и Вычитание из выделенной области (Subtract from selection). Опция «Добавить к выделенной области» (средняя иконка) активна уже заранее, так как весь смысл работы инструментом заключается в том, чтобы продолжать добавление новых областей к выделению, пока не выберете все, что нужно:

Есть два способа работы с инструментом. Первый — это кликнуть в начальном месте, затем перенести курсор и кликнуть где-либо в другом месте, т.е. так же, как и работать с «Волшебной палочкой». Но это не лучший способ, т.к. Photoshop должен сам изобретать, какие пиксели нужно поместить в выделение между двумя точками кликов.

Гораздо лучше работать «Быстрым выделением» как обычной Кистью Photoshop. Создайте первоначальное выделение и плавно перемещайте курсор в нужном направлении и Photoshop будет постоянно анализировать область, сравнивая цвет, тон и текстуру, чтобы выяснить, что именно Вы пытаетесь выделить.

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

Если я случайно залез курсором в нежелательную область (например, на дерево), эта область также будет добавлена к выделению, что мне не надо. В этом случае следует просто нажать Ctrl + Z, чтобы отменить последний шаг. Чуть позже, мы рассмотрим, как удалить ненужные области из выделения инструментом «Быстрое выделение», но хорошим тоном является не создавать ненужного сразу.

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

Изменение размера курсора
В процессе работы постоянно требуется изменять диаметр курсора — увеличивать для больших площадей и уменьшать для маленьких и узких участков. Диаметр регулируется стандартно — уменьшается открывающей квадратной скобкой ( [ ) и увеличивается закрывающей ( ] ).

Я продолжаю дальше выбирать пиксели в области тачки, увеличив курсор. Наконец, я выбираю всё,что мне нужно:

Вычитание из выделенной области

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

Чтобы удалить область из выделения, зажмите клавишу ​​Alt, которая временно переключает инструмент на режим вычитания (можно также переключить на опцию «Вычитание из выделенной области» в панели параметров, но Вы должны помнить, что инструмент находится в этом режиме и не забыть потом переключиться обратно). Небольшой плюс в центре курсора будут заменён знаком минус (-). Затем, удерживая Alt, нажмите на область, которую Вы должны удалить. Для удаления мне необходимо уменьшить диаметр курсора, я сделаю это нажатием клавиши [ несколько раз:

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

Итак, моё выделение завершено. Неплохой результат за две минуты!

Но мы будем применять действия к окружающему фону, а выделена у нас на данный момент центральная фигура. Поэтому инвертируем выделение, нажав Ctrl+Shift+I.


Затем добавляем корректирующий слой «Цветовой тон/Насыщенность» (Hue/Saturation):

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

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

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

И для повышения контрастности фона заменим режим наложения с нормального на «Цветность» (Color). Результат:

Дополнительные опции

Инструмент «Быстрое выделение» (Quick Selection Tool) имеет ещё пару дополнительных опций в панели параметров. Если документ содержит несколько слоев, и вы хотите, чтобы Photoshop для отбора пикселей анализировал все видимые слои, а не только активный, поставьте галку у опции «Образец со всех слоёв» (Sample All Layers). Про отключенной опции, Photoshop будет работать только с активным на данный момент слоем. По умолчанию опция отключена.

При включённой опции «Усилить автоматически» (Auto-Enhance) Photoshop производит более качественный, плавный отбор краёв, иными словами, повышает качество выбора. Может замедлять работу, если компьютер слабоват. По умолчанию включена.

Общие сведения о выделениях (selections)

Работа со слоями

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

Общие сведения о слоях

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

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

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

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

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

Окно управления слоями Layer Settings (Настройки слоя) (рис. 7.1) можно вызвать несколькими способами:

? командой Document > Layers > Layer Settings (Документ > Слои > Настройки слоя);

? командой Options > Element Attributes > Layer Settings (Параметры > Атрибуты элементов > Настройки слоя);

которая находится на информационной панели при любом активном инструменте построения объектов рядом с кнопкой вызова окна настройки параметров объекта;

панели Arrange Elements (Упорядочивание объектов);

? нажатием комбинации клавиш Ctrl+L.

Рис. 7.1. Окно управления слоями

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

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

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

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

? Атрибут блокирования слоя – значок

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

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

? Атрибут видимости слоя – если объекты, находящиеся на слое, видимы, то в поле стоит значок

в противном случае – значок

? Атрибут объемного изображения – значок

определяет представление объектов слоя в 3D-окне в виде твердотельного изображения, значок

представляет объекты слоя в виде каркасной модели.

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

? Атрибут пересечения объектов, над которым находится кнопка

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

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

? Атрибут Extension (Расширение), расположенный справа от имени слоя, – позволяет присвоить слою произвольную информацию, по которой можно сортировать или упорядочивать слои в списке.

Выбрать способ сортировки можно, нажав кнопку, расположенную справа от значка

– станут доступными следующие три варианта:

? Show all layers (Показать все слои) – отображаются все слои, определенные в проекте;

? Hide Xref layers (Скрыть Xref-слои) – технология Xref предназначена для использования в проекте файлов формата DWG и DXF – чертежей популярной САПР AutoCAD, на каждый такой файл создается ссылка, которая связывается со специальным слоем, выбор этого варианта сортировки скрывает слои, связанные с Xref-ссылками;

? Filter by extension (Фильтровать по расширению) – в списке отображаются только слои с одинаковой информацией в атрибуте Extension (Расширение).

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

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

Возможности выделения записей списка слоев полностью совпадают с выделениями объектов Windows. Можно выделить несколько записей протаскиванием мыши с нажатой кнопкой. Можно выделять произвольно расположенные записи щелчком кнопкой мыши при нажатой клавише Ctrl. Щелчок кнопкой мыши при нажатой клавише Shift выделит все записи от выделенной до той, на которой произведен щелчок, и т. д.

Нажатие комбинации клавиш Ctrl+A или использование кнопки Select All (Выделить все), расположенной справа от списка слоев, выделит все объекты. Нажатие кнопки Deselect All (Снять все выделение) снимает выделение со всех слоев.

Кнопки, расположенные справа от списка слоев, обеспечивают работу с группой выделенных записей. Нажатие кнопки Lock (Блокировать) блокирует выделенные слои, кнопки UnLock (Разблокировать) – разблокирует. Кнопка Show (Показать) делает видимыми, а кнопка Hide (Скрыть) соответственно – невидимыми объекты на всех выделенных слоях. С помощью кнопки Delete (Удалить) выделенные слои можно удалить.

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

Новый слой создается нажатием кнопки New (Создать). В появившемся окне необходимо указать имя нового слоя, и он появится в списке слоев.

Кнопка Print (Печать) предназначена для распечатки текущего состояния слоев и их комбинаций.

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

Разрешаются подобные ситуации в ArchiCAD путем использования механизма комбинации слоев. Комбинация слоев – это конкретный вариант установленных атрибутов всей совокупности слоев, имеющий имя. Список комбинаций слоев расположен в левой области окна – Layer Combinations (Комбинации слоев) (см. рис. 7.1).

Записи списка комбинаций слоев, как и записи списка слоев, являются составными. Они включают в себя номер комбинации слоя, ее наименование и атрибуты активного слоя.

Кнопки New (Создать), Update (Изменить) и Delete (Удалить), расположенные под списком комбинаций слоев, выполняют соответствующие действия по отношению к комбинациям слоев.


Чтобы изменить комбинацию слоев, необходимо выделить ее, изменить атрибуты в списке слоев и нажать кнопку Update (Изменить).

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

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

Создание слоев и комбинаций слоев

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

Предположим, необходимо выполнить следующие условия:

? работа будет происходить со стенами и балками порознь, то есть при работе со стенами балки не должны быть видимы, при работе с балками не должны мешать стены;

? как при работе со стенами, так и при работе с балками должна быть видима структурная сетка осей;

? структурная сетка должна быть заблокирована от случайных изменений в процессе работы с объектами;

? после завершения работы должна иметься возможность просмотра готового объекта, то есть нужна совместная видимость созданных стен и балок без возможности их изменения, но чтобы в этом случае структурная сетка не мешала просмотру;

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

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

Как ни удивительно, но все это можно сделать, используя механизм слоев ArchiCAD.

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

1. Создайте новый проект.

2. Вызовите окно установки параметров слоев нажатием комбинации клавиш Ctrl+L.

3. Нажмите кнопку Select All (Выделить все) – все слои, находящиеся в списке слоев, будут выделены.

4. Нажмите кнопку Delete (Удалить), расположенную справа от списка слоев, – в списке слоев останется только неудаляемый и неизменяемый слой ArchiCAD Layer (Слой ArchiCAD). Этот слой существует для того, чтобы в случае «пропажи» объектов при манипуляциях со слоями эти объекты не исчезали. Если объект по злому умыслу или досадной случайности стал «бесхозным», то есть не принадлежащим ни одному слою, то он автоматически попадет на слой ArchiCAD Layer (Слой ArchiCAD).

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

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

1. Нажать кнопку New (Создать), расположенную справа от списка слоев Layers (Слои), – откроется окно для ввода имени нового слоя.

2. Введите имя Стены и нажмите кнопку OK – в списке слоев появится новый слой.

3. Повторите пункты 1-2, введя имена Балки и Сетка, – список слоев создан (рис. 7.2).

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

1. Для выключения видимости балок нажмите кнопку

слоя Балки – данный значок заменится изображением

2. Нажмите кнопку

слоя Сетка – значок изменится и примет вид

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

Рис. 7.2. Создание списка слоев

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

Для этого следует нажать кнопку New (Создать), расположенную в левом нижнем углу области Layer Combinations (Комбинации слоев), – откроется окно, в котором следует ввести имя Стены и нажать кнопку OK. Комбинация слоев для работы со стенами создана (рис. 7.3).

Чтобы настроить слои, необходимо выполнить следующие действия.

1. Включите видимость слоя Балки и отключите видимость слоя Стены – таким образом подготовлена комбинация слоев для построения балок.

2. Создайте эту комбинацию, назвав ее Балки.

3. Создайте комбинацию слоев Просмотр, включив видимость слоев Стены и Балки, заблокировав их и отключив видимость слоя Сетка.

4. Создайте комбинацию слоев Сетка, отключив видимость слоев Балки и Стены, разблокировав слой Сетка и включив его видимость. Слои и комбинации слоев настроены (рис. 7.4).

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

Рис. 7.3. Создание комбинации слоев

Рис. 7.4. Результат создания комбинаций слоев

6. Закройте окно установки параметров слоев, нажав кнопку OK, – откроется окно с предупреждением: By deleting layers you lose all plan elements assigned to those layers. This operation is NOT UNDOABLE (Удаляя слои, вы потеряете все объекты, связанные с этими слоями. Эта операция НЕОБРАТИМА). Вспомним, что мы удалили все имевшиеся в проекте слои и их комбинации, прежде, чем создавать собственные. На самом деле удаленные слои были лишь помечены для удаления и стали невидимы.

7. Нажмите кнопку Delete anyway (Удалить) окна предупреждения – помеченные слои реально удалятся, а новые будут созданы.

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

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

1. Выполните команду Design > Structural Greed (Конструирование > Структурная сетка). Откроется окно Structural Greed (Структурная сетка) (рис. 7.5), в левом нижнем углу которого появилась кнопка Structural Greed (Структурная сетка), так как ArchiCAD при активизации окна настройки параметров структурной сетки восстановил удаленный нами соответствующий слой. Однако у нас есть свой слой для сетки.

2. Нажмите кнопку Structural Greed (Структурная сетка) – откроется список слоев, из которого следует выбрать слой Сетка. Теперь создаваемая сетка будет размещена на предназначенном для нее слое.

3. Перейдите на вкладку Attributes and Elements (Элементы и атрибуты).

4. Установите систему нумерации осей структурной сетки, выбрав A, B, C из открывающегося списка Horisontal Axis (Горизонтальные оси) и 1, 2, 3 из открывающегося списка Vertical Axis (Вертикальные оси).

5. Нажмите кнопку Options (Дополнительно).

6. В области Range (Порядок) установите направление отсчета сетки up (Вверх) для горизонтальных осей и right (Вправо) для вертикальных.

7. Закройте окно, нажав кнопку OK.

8. Перейдите на вкладку Form and Size (Форма и размеры).

9. В разделах Horizontal Grid Lines (Горизонтальные линии сетки) и Vertical Grid Lines (Вертикальные линии сетки) установите расстояния между осями A – B, B – C, 1-2 и 2-3, равные 6000.

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

11. Нажмите кнопку OK – параметры сетки настроены.

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

Рис. 7.5. Окно Structural Grid (Структурная сетка)


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

1. Нажмите кнопку

информационной панели – откроется окно установки параметров слоев.

2. Активизируйте комбинацию слоев Стены.

3. Щелкните кнопкой мыши на слое Стены – это сделает слой стены активным.

4. Закройте окно, нажав кнопку OK.

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

Если к моменту вызова меню слоев в проекте имеются выделенные объекты, то они будут перенесены на выбранный из списка слой.

5. Активируйте инструмент построения стен.

6. Постройте замкнутый контур стен в виде треугольника (рис. 7.6).

Рис. 7.6. Построение стен

7. Теперь активируйте комбинацию слоев Балки. Построенные стены исчезли, так как слой Стены в комбинации слоев Балки невидим. Это можно увидеть на кнопке активизации слоев.

8. Активируйте инструмент построения балок – надпись на кнопке активизации слоев изменилась на Missing (Отсутствует). Это означает, что инструмент построения балок не связан ни с одним слоем построения.

9. Нажмите кнопку активизации слоев, расположенную на информационной панели, и выберите слой Балки – строящиеся объекты, в данном случае балки, теперь будут связаны с этим слоем.

10. Постройте замкнутый контур балок в виде треугольника (рис. 7.7).

Построения стен и балок завершены. Каждый тип объектов связан со своим слоем, имеющим соответствующие атрибуты. Теперь можно посмотреть работу комбинации Просмотр. Для этого нужно открыть окно установки параметров слоев, активировать комбинацию слоев Просмотр и закрыть окно, нажав кнопку OK (рис. 7.8).

Рис. 7.7. Построение балок

Рис. 7.8. Активизация комбинации слоев Просмотр

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

Осталось рассмотреть работу механизма пересечения объектов. Сделаем это на примере построения стен.

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

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

Изменим номер группы слоя Стены, например, на 2, а одну из стен переместим на слой ArchiCAD Layer (Слой ArchiCAD), имеющий номер 1. Для этого нужно выполнить следующие действия.

1. Активировать окно установки параметров слоев.

2. Изменить номер группы пересечения слоя Стены на 2.

3. Активировать комбинацию слоев Стены.

4. Закрыть окно, нажав кнопку OK.

5. Выделить левый верхний сегмент контура стен.

Если при попытке выделения сегмента выделяется весь контур, то используйте команду главного меню ArchiCAD Edit > Grouping > Ungroup (Редактор > Группирование > Разгруппировать) или комбинацию клавиш Ctrl+Shift+G для разгруппирования контура стен на отдельные сегменты, после чего повторите попытку выделения.

6. Откройте список активизации слоев.

7. Выберите из списка слой ArchiCAD Layer (Слой ArchiCAD).

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

Рис. 7.9. Работа механизма групп пересечения

8. Замените номер группы пересечения слоя Стены на 1 – сопряжение восстановится, хотя перемещенный сегмент находится на другом слое.

9. Верните сегмент на слой Стены.

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

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

Самостоятельно изучите механизм сортировки и упорядочивания слоев с помощью поля Extension (Расширение).

Меню работы со слоями

Для работы со слоями в ArchiCAD предназначено меню (рис. 7.10), которое вызывается командой Document > Layers (Документ > Слои).

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

В верхней области меню находятся три пункта:

? Layer Settings (Настройки слоя) – открывает окно настройки параметров слоев;

? Show All Layers (Показать все слои) – устанавливает атрибут видимости одновременно для всех слоев;

? Layer Extras (Атрибуты слоя) – вызывает меню дополнительных параметров, управляющих атрибутами слоев (рис. 7.11), которое включает следующие команды:

Рис. 7.10. Меню для работы со слоями

Рис. 7.11. Меню установки атрибутов слоев

¦ Show / Hide Toggle (Показать / Скрыть) – переключает атрибут видимости для всех слоев активной комбинации, видимые слои становятся невидимыми и наоборот;

¦ Lock / Unlock Toggle (Блокировать / Разблокировать) – переключает атрибут блокирования, блокированные слои активной комбинации становятся доступными для редактирования, а доступные блокируются;

¦ Hide Selections (Скрыть выбранное) – снимает атрибут видимости со слоя, на котором находятся выделенные объекты, при отсутствии выделения данная команда недоступна;

¦ Lock Selections (Блокировать выбранное) – блокирует слой, на котором находятся выделенные объекты, при отсутствии выделения данная команда недоступна;

¦ Unlock Selections (Разблокировать выбранное) – разблокирует слой, на котором находятся выделенные объекты, при отсутствии выделения данная команда недоступна;

¦ Hide Others (Скрыть остальное) – если в проекте выбраны какие-либо объекты, то эта команда делает невидимыми слои, к которым не принадлежат выделенные объекты, при отсутствии выделенных объектов команда заменяется параметром Hide All (Скрыть все слои);

¦ Lock Others (Блокировать остальное) – команда подобна предыдущей, но вместо установки атрибута невидимости блокирует слои, на которых нет выбранных объектов, при отсутствии выделенных объектов команда заменяется параметром Lock All (Блокировать все слои);

Undo Layer Change (Отменить действие) – отменяет до восьми последних выполненных действий со слоями; Redo Layer Change (Восстановить действие) – повторяет исполнение до восьми последних выполненных действий со слоями.

Кнопки управления, которые соответствуют рассмотренным командам меню, можно найти на палитре Quick Layers (Атрибуты слоев) (рис. 7.12), которая активизируется командой Window > Palettes > Quick Layers (Окно > Палитры > Атрибуты слоев).

Рис. 7.12. Палитра инструментов работы с атрибутами слоев

Отдельно расположена команда Active Layer (Активный уровень). При выборе этой команды открывается окно с кнопками One Active Layer for all Element types (Общий слой для элементов всех типов) и Individually set Layers (Индивидуальная установка слоев). Нажатие первой кнопки связывает объекты всех типов с текущим активным слоем. До тех пор пока окно не закрыто, пользователь может вернуться к прежнему состоянию установок атрибутов слоев, для чего необходимо нажать ставшую активной вторую кнопку.

Если окно все-таки было закрыто, то появляется сообщение Do you wish to revert to the last used individually set layers? (Хотите вернуться к последней использованной установке параметров слоев?). Продолжить выполнение действия или отказаться от него помогут расположенные в окне сообщения кнопки Keep Current Level (Использовать текущий слой) и Revert (Вернуться).

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

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

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