Содержание

Редактируемый размытый тип со стилями слоев в Photoshop

В этом уроке по Photoshop мы узнаем, как создать полностью редактируемый размытый тип, используя стили слоя! В частности, мы увидим, как использовать эту технику для добавления размытого теневого текста к изображению. Теперь, если вы некоторое время использовали Photoshop, вы можете подумать: «Размытый текст? Разве вы не можете просто размыть его с помощью фильтра Gaussian Blur?», И да, вы можете, но есть большой недостаток в этом. тот.

Фотошоп не позволит нам применить Gaussian Blur (или любой другой фильтр) к типу без предварительного преобразования типа в пиксели (процесс, известный как растеризация типа), и после преобразования в пиксели текст больше не редактируется. В этом уроке мы рассмотрим другой способ размытия текста, который дает нам те же результаты, которые мы добились бы с помощью Gaussian Blur, но без необходимости его растеризации, что означает, что наш тип остается полностью редактируемым даже после того, как мы размыто, так что мы все еще можем вернуться и внести любые необходимые изменения! Как можно создать размытый, но редактируемый текст? Благодаря стилям слоя это на самом деле очень просто!

Вот документ, который я открыл на своем экране, содержащий один слой текста (слово «ТЕНЬ») перед фоновым изображением:

Оригинальный документ.

Если мы посмотрим на мою панель «Слои», то увидим текст на слое «Тип», расположенный над изображением на слое фона, и увидим, что слой «Тип» в данный момент активен (выделен синим цветом)

Панель «Слои», показывающая слой «Тип» над фоновым слоем.

Прежде чем мы научимся создавать редактируемый размытый тип, давайте быстро посмотрим, что происходит, когда я пытаюсь размыть свой текст с помощью фильтра Gaussian Blur. Я выберу его, зайдя в меню « Фильтр» в строке меню в верхней части экрана, затем выберу « Размытие», а затем « Размытие по Гауссу» :

Идем в Filter> Blur> Gaussian Blur.

Как только я выберу фильтр Gaussian Blur, Photoshop откроет окно с предупреждением о том, что текст на слое Type нужно растеризовать и что он больше не будет редактируемым шрифтом, когда мы закончим. Это не то, что я хочу, поэтому я нажму кнопку «Отмена», чтобы отменить фильтр:

Отмена фильтра, так как я не хочу растеризовать текст.

Давайте посмотрим, как размыть текст, используя стили слоев Photoshop!

Шаг 1: добавь тень

Открыв документ и выделив слой «Тип», щелкните значок « Стили слоев» в нижней части панели «Слои».

Нажав на иконку Layer Styles.

Затем выберите Drop Shadow в верхней части списка стилей слоя, который появляется:

Выбор Drop Shadow из списка.

Шаг 2: уменьшите расстояние до 0px

При этом откроется диалоговое окно «Стиль слоя» в Photoshop с параметрами «Тень» в среднем столбце. Уменьшите значение расстояния до 0px, переместив ползунок влево. Параметр «Расстояние» определяет, как далеко тень появляется от объекта, отбрасывающего тень. Установка расстояния в 0px поместит тень прямо за текстом:

Уменьшение расстояния до 0px.

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

Текст после снижения значения расстояния до 0px.

Шаг 3: переключитесь на параметры смешивания

Не закрывайте диалоговое окно Layer Style, потому что у нас еще есть кое-что сделать. Нажмите непосредственно на слова Blending Options в верхнем левом углу диалогового окна. Параметры «Тень» в среднем столбце будут заменены параметрами «Смешивание»:

Выбор параметров наложения.

Шаг 4: понизь непрозрачность заливки до 0%

Теперь, когда параметры смешивания отображаются в среднем столбце, уменьшите значение « Непрозрачность заливки» до 0%, переместив ползунок полностью влево. Этот параметр «Непрозрачность заливки» — это тот же параметр «Заполнение», который находится в верхнем правом углу панели «Слои». Как мы узнали из учебника Layer Opacity vs Fill, значение Fill контролирует прозрачность фактического содержимого слоя, но не влияет на стили слоя, которые к нему применяются. Понижая значение Fill слоя Type, мы делаем сам текст прозрачным, но стиль слоя Drop Shadow останется полностью видимым:

Снижение непрозрачности заливки до 0%.

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

Изображение после понижения Fill Opacity текста.

Шаг 5: переключиться обратно на параметры Drop Shadow

Нажмите непосредственно на слова Drop Shadow под Blending Options в верхнем левом углу диалогового окна, чтобы переключиться обратно на параметры Drop Shadow. Убедитесь, что вы нажимаете непосредственно на слова, а не внутри флажка слева от слов, иначе вы не получите доступ к опциям (и отключите тень):

Нажав на слова Drop Shadow.

Шаг 6: отключить «Слой выбивает тень»

Если вы посмотрите вниз в нижней части опций Drop Shadow, вы увидите опцию под названием Layer Knocks Out Drop Shadow . По умолчанию эта опция включена, и если она включена, тень будет скрыта за фактическим содержимым слоя (в данном случае текстом), даже если мы сделаем содержимое прозрачным. Нажмите на флажок, чтобы снять флажок и отключить параметр:

Отключение опции «Слой выбивает тень».

И теперь сам текст полностью скрыт и больше не блокирует тень от просмотра:

Размытый теневой текст теперь полностью виден.

Шаг 7: отрегулируйте размер тени

Если бы мы размыли текст, используя фильтр Gaussian Blur, мы бы отрегулировали степень размытия, перетаскивая ползунок Радиус. Используя нашу технику стилей слоя, мы корректируем размытие, контролируя размер тени с помощью параметра « Размер» . По умолчанию для размера установлено значение 16 пикселей. Перетащите ползунок вправо, чтобы увеличить значение и увеличить тень, чтобы добавить больше размытия к тексту, или перетащите его влево, чтобы уменьшить значение «Размер» и уменьшить эффект размытия:

Отрегулируйте степень размытия текста с помощью параметра «Размер».

Вот мой эффект размытия после увеличения значения размера до 29 пикселей:

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

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

И текст, и эффект остаются редактируемыми

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

Двойной щелчок по эффекту «Тень» под слоем «Тип».

Это снова откроет диалоговое окно «Стиль слоя» для параметров «Тень», чтобы вы могли внести любые необходимые изменения в значение «Размер». Когда вы закончите, нажмите OK, чтобы закрыть обратно из диалогового окна:

Установка нового значения размера с помощью ползунка.

Сам текст также остается полностью редактируемым, даже с применением эффекта размытия. Просто выберите его с помощью инструмента «Текст», введите новый текст, затем нажмите Ctrl + Enter (Win) / Command + Return (Mac) на клавиатуре, чтобы принять его. Эффект размытия автоматически применяется к обновленному тексту:

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

Куда пойти дальше …

И там у нас это есть! Вот как можно создать полностью редактируемый эффект размытого текста, используя стили слоев в Photoshop! Ознакомьтесь с нашими разделами «Текстовые эффекты» или «Фотоэффекты» для получения дополнительных уроков по Photoshop!

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

QGIS предоставляет разнообразные возможности для редактирования векторных данных OGR, Spatialite, PostGIS, MSSQL Spatial и Oracle Spatial.

Настройка порога прилипания и радиуса поиска

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

Порог прилипания

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

  1. Общая для всего проекта величина порога прилипания устанавливается в (для Mac: , для Linux: ). На вкладке Оцифровка можно установить режим прилипания по умолчанию: к вершинам, к сегментам, или к вершинам и сегментам. Также можно определить значения по умолчанию для единиц измерения порога прилипания и радиуса поиска. Эти величины могут быть установлены как в единицах карты, так и в пикселах. Преимущество использования пикселов в качестве единиц заключается в том, что при масштабировании порог прилипания не будет изменяться.

    В нашем небольшом проекте оцифровки (по рабочему набору данных Alaska) мы установили в качестве единицы порога прилипания фут. Ваши результаты могут отличаться, но величины, близкие к 300 футов, дают приемлемые результаты при работе в масштабе 1:10000.

  2. Величина порога прилипания для отдельного слоя устанавливается в (или ) для включения и настройки режима и порога прилипания для каждого слоя (см. figure_edit_1).

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

Figure Edit 1:

Настройка параметров прилипания для отдельного слоя

Радиус поиска

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

Радиус поиска для редактирования вершин в единицах слоя устанавливается на вкладке

Оцифровка, расположенной в меню . Там же устанавливается общий для всего проекта порог прилипания.

Масштабирование и прокрутка карты

Перед редактированием слоя следует увеличить район исследований на карте. Это спасёт от ожидания прорисовки всех вершин слоя.

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

Зуммирование и прокрутка карты с помощью «колеса» мыши

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

Инструменты в меню .

Прокрутка карты с помощью стрелок

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

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

Редактирование существующего слоя

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

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

Дополнительные функции оцифровки. Их можно активировать и деактивировать в меню . Используя основные инструменты для оцифровки, можно выполнять следующие функции:

Иконка

Назначение

Иконка

Назначение

Текущие правки

Режим редактирования

Добавить объект: создать точку

Добавить объект: создать линию

Добавить объект: создать полигон

Переместить объект

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

Удалить выделенное

Вырезать объекты

Копировать объекты

Вставить объекты

Сохранить правки

Основные инструменты редактирования векторного слоя

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

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

Совет

Регулярное сохранение

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

Добавление объектов

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

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

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

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

Figure Edit 2:

Диалог ввода атрибутивных значений после оцифровки нового объекта

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

Совет

Типы значений атрибутов

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

Текущие правки

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

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

Основные операции

Включите инструмент Редактирование узлов и выделите объект простым нажатием на него. На месте каждой вершины этого объекта появятся красные рамки.

  • Выделение вершин: Выделение узла происходит простым нажатием по нему кнопкой мыши, при этом цвет рамки изменится на синий. Чтобы выделить несколько узлов одновременно, надо удерживать клавишу Shift. Нажатие на Ctrl используется для инвертирования выделения узлов (выделенные узлы становятся невыделенными и наоборот). Также несколько узлов одновременно можно выделить, если нажать кнопкой мыши где-нибудь в стороне от объекта и очертить прямоугольную область вокруг интересующего множества вершин. Или просто нажать на отрезок линии и оба смежных узла будут выделены.

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

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

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

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

Вырезать, копировать и вставить объекты

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

Объекты также можно вставить во внешние приложения в виде текста: объекты отражаются в формате CSV, где их геометрия передается форматом OGC Well-Known Text (WKT).

Однако в настоящей версии QGIS текстовые объекты из внешних приложений не могут быть добавлены в слой QGIS. Когда же может пригодиться функция копирования и вставки? Оказывается, возможно редактирование нескольких слоев одновременно и копирование/вставка объектов между ними. Для чего это может понадобиться? Предположим, необходимо поработать со слоем озер, в котором интересует только одно или два озера, а не все 5000, как, например, в нашем слое big_lakes. Тогда можно создать новый слой и, используя операции копирование/вставка, переместить в него нужные озера.

Рассмотрим пример копирования отдельных озер в новый слой:

  1. Загрузите слой, из которого вы собираетесь копировать (исходный слой)

  2. Загрузите или создайте слой, в который вы будете копировать (целевой слой)

  3. Начаните редактирование целевого слоя

  4. Активируйте исходный слой щелчком мыши по нему в легенде

  5. Используя инструмент Выбрать объекты, выделите объект(ы) в исходном слое

  6. Нажмите кнопку Копировать объекты

  7. Сделайте активным целевой слой, щелкнув по нему в легенде кнопкой мыши

  8. Нажмите Вставить объекты

  9. Завершите редактирование и сохраните изменения

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

Совет

Соответствие вставляемых объектов

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

Удаление выделенных объектов

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

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

Сохранение отредактированных слоев

Когда слой находится в режиме редактирования, любые изменения сохраняются только в памяти QGIS. Поэтому они не сохраняются непосредственно на диск. Если необходимо сохранить изменения в текущем слое и при этом продолжать его редактирование, нужно просто нажать на кнопку :sup:”Сохранить правки. Если выключить режим редактирования нажав на Режим редактирования (или просто выйти из QGIS), то появится запрос, хотите вы сохранить изменения или нет.

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

Совет

Целостность данных

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

Дополнительные функции оцифровки

Иконка

Назначение

Иконка

Назначение

Отменить

Вернуть

Повернуть объект

Упростить объект

Добавить кольцо

Добавить часть

Удалить кольцо

Удалить часть

Корректировать объекты

Параллельная кривая

Разбить объекты

ОБъединить выбранные объекты

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

Объединить атрибуты выбранных объектов

Дополнительные возможности редактирования векторного слоя

Отменить и Вернуть

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

Figure Edit 3:

Отмена и возврат операций редактирования

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

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

Повернуть объект

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

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

Упростить объект

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

Добавить кольцо

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

Добавить часть

Можно использовать Добавить часть для добавления новых полигонов к выбранному :index:`мультиполигон`y. Новая полигональная часть должна быть создана за границами мультиполигона.

Удалить кольцо

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

Удалить часть

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

Корректировать объекты

Можно корректировать форму линий и полигонов, используя инструмент Корректировать объекты, расположенный на панели инструментов. Он удаляет часть линии или полигона между первым и последним пересечением с исходной линией. При работе с полигонами это может иногда привести к непредсказуемым результатам. Этот инструмент наиболее пригоден для корректировки небольших частей полигонов. Редактирование нескольких полигональных объектов одновременно невозможно, так как при этом будут создаваться полигоны с ошибочной геометрией.

Рассмотрим редактирование границы полигона при помощи этого инструмента. Сначала необходимо поставить точку внутри полигона, рядом с местом, где необходимо добавить новую вершину. Затем провести линию через контур и добавить новые вершины. Для завершения операции поместите указатель внутри контура и нажмите правую клавишу мыши. Инструмент автоматически добавит новые вершины в местах пересечения контура. Аналогичным образом можно «вырезать» часть полигона. В этом случаем начинать и заканчивать построение необходимо вне контура.

Примечание

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

Параллельная кривая

Инструмент Параллельная кривая предназначен для параллельного переноса линий и колец полигона. Инструмент может применяться к редактируемому слою (в этом случае изменяются объекты) или же к фоновым слоям (в этом случае создаются копии линий/колец и добавляются в редактируемый слой). Таким образом, он идеально подходит для создания линейных слоёв с фиксированным шагом. Размер смещения отображается в нижней левой части строки состояния. Для создания параллельной кривой необходимо перейти в|mActionToggleEditing| Режим редактирования и выбрать исходный объект. Затем активируйте инструмент Параллельная кривая и переместите курсор-перекрестие на необходимое расстояние. Сохраните изменения, нажав Сохранить правки.

Разбить объекты

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

Объединить выбранные объекты

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

Объединить атрибуты выбранных объектов

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

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

Инструмент Повернуть значки позволяет изменить поворот точечного символа на карте, если задано вращение по столбцу атрибутивной таблицы точечного слоя в выпадающем меню Дополнительно`на вкладке :guilabel:`Стиль, из меню свойств слоя — Свойства слоя. Если используется SVG-маркер, то необходимо нажать кнопку [Переопределение свойств], активировать флажок Угол и указать поле с данными о вращении. В другом случае инструмент будет неактивным.

Figure Edit 4:

Поворот точечного символа

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

Примечание

Если удерживать кнопку Ctrl нажатой, поворот будет осуществляться с шагом 15 градусов.

Создание нового векторного слоя

QGIS позволяет создавать новые shape-файлы, слои SpatiaLite и новые слои GPX. Создание новых слоев GRASS осуществляется с помощью расширения GRASS. Для более подробной информации по созданию слоев GRASS обратитесь к разделу Создание нового векторного слоя GRASS.

Создание нового shape-файла

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

Обратите внимание, что QGIS пока еще не поддерживает создание объектов в размерности 2.5D (т.е. объектов с координатами X, Y, Z), кроме того, не поддерживается создание объектов с линейной системой координат (координата M).

Figure Edit 5:

Диалог создания нового shape-файла

В завершении создания shape-файла следует добавить желаемые атрибуты. Для этого надо нажать на кнопку [Добавить] и задать имя и тип атрибутов. При необходимости, добавленный по умолчанию атрибут «id» можно удалить. Поддерживаются только следующие типы атрибутов: «Текст», «Целое число», «Десятичное число» и «Дата». Дополнительно, в соответствии с выбранным типом атрибута, можно определить размер и точность для нового поля атрибутов. Как только все необходимые параметры заданы, нажмите кнопку [OK] и задайте имя для выходного shape-файла. QGIS автоматически добавит к имени файла расширение .shp. После того, как shape-файл создан, он будет добавлен в карту и доступен для обычного редактирования, как описано в разделе Редактирование существующего слоя выше.

Создание нового слоя SpatiaLite

Чтобы создать новый редактируемый слой SpatiaLite, выберите из меню . Появится диалог Создать слой SpatiaLite, как показано на Figure_edit_6.

Figure Edit 6:

Диалоговое окно «Создать слой SpatiaLite»

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

Чтобы задать таблицу атрибутов для нового слоя SpatiaLite, добавьте имена и определите соответствующие типы данных для новых столбцов таблицы, затем нажмите кнопку [Добавить]. В завершение нажмите кнопку [OK]. QGIS автоматически добавит новый слой в легенду, и он будет доступен для обычного редактирования, как описано в разделе Редактирование существующего слоя выше.

Дальнейшая работа со слоями SpatiaLite может выполняться при помощи модуля DB Manager, см. раздел db_manager.

Создание нового слоя GPX

Для создания файла GPX необходимо сначала загрузить модуль GPS. Откройте менеджер модулей из меню . Включитель модуль Инструменты GPS.

Теперь в меню выберите . В открывшемся окне Сохранить новый GPX-файл как… укажите имя файла.

Работа с таблицей атрибутов

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

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

Откроется новое окно, в котором будут представлены атрибуты для каждого объекта слоя (cм. figure_attributes_1). Количество объектов указано в заголовке атрибутивной таблицы.

Figure Attributes 1:

Таблица атрибутов слоя regions

Выделение объектов в таблице атрибутов

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

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

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

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

Чтобы выбрать определённые объекты используйте кнопку Выделить объекты удовлетворяющие условию в верху таблицы атрибутов. Выделить объекты удовлетворяющие условию позволяет создать выборку при помощи различных функций, доступных и в Калькуляторе полей (см. раздел Калькулятор полей). Результат запроса можно сохранить в виде нового векторного слоя. Например, вам надо в файле regions.shp из демонстрационного набора данных QGIS найти все объекты, являющиеся районами. Разверните группу Поля и значения и выберите поле TYPE_2 и дважды щелкните по нему. Затем нажмите кнопку [Все уникальные значения]. В списке значений найдите «Borough» и дважды щелкните по нему. В поле Выражение появится следующий запрос:

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

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

Остальные кнопки, расположенные вверху атрибутивной таблицы, обладают следующими функциями:

  • Режим редактирования для редактирования отдельных значений таблицы атрибутов и активации функций, описанных ниже. Также можно использовать комбинацию клавиш Ctrl+E

  • Сохранить изменения или Ctrl+S

  • Снять выделение или Ctrl+U

  • Переместить выделенные в начало или Ctrl+T

  • Обратить выделение или Ctrl+R

  • Копировать выбранные строки в буфер обмена также с Ctrl+C

  • Увеличить карту до выбранных строк также с Ctrl+J

  • Центрировать выделение также с Ctrl+P

  • Удалить выделенные объекты или Ctrl+D

  • Добавить поле для слоев PostGIS и OGR с версией GDAL >= 1. 6. Или используйте комбинацию клавиш Ctrl+W

  • Удалить поле пока только для слоев PostGIS и OGR с версией GDAL >= 1.9, также доступно по Ctrl+L

  • Открыть калькулятор полей или Ctrl-I

Совет

Игнорирование геометрии в формате WKT

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

Сохранение выделенных объектов в качестве нового слоя

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

Работа с непространственными атрибутивными таблицами

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

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

Архитектура «1С:Предприятия» как продукт инженерной мысли

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

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

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

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

За что боремся

В начале хочется кратко определиться с тем, что считать основной целью создания таких технологий как платформа «1С:Предприятие». Если посмотреть на историю развития компьютеров и программирования, то можно заметить, что, наряду с повышением производительности, увеличением объемов обрабатываемой информации, повышением эргономичности и т. д. прослеживается достаточно четкое стремление к повышению уровня абстракции программных систем. Эта тенденция является в какой-то степени уникальным свойством, присущим именно компьютингу, тогда как в других областях человеческой деятельности стратегические цели развития носят более утилитарный характер. Проследить историю повышения уровня абстракции очень легко — начиная от программирования на уровне соединительных шнуров, к машинным кодам, ассемблеру, структурным языкам программирования и т. д. Каждый этап знаменовал повышение уровня абстракции взаимодействия человека (и разработчика, и конечного пользователя) с компьютером.

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

Платформа и бизнес-приложения

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

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

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

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

Например, она предлагает разработчику собственную модель работы с данными и изолирует его от особенностей конкретного хранилища данных, а это позволяет, не изменяя бизнес-приложение использовать в нем различные хранилища. К примеру, в качестве БД при решении задач небольшого масштаба может применяться собственный файловый движок, а для работы в масштабе предприятия — MS SQL Server.

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

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

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

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

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

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

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

Метаданные — способ описания бизнес-приложения

В «1С:Предприятии» прикладное решение не пишется в прямом смысле на языке программирования. Язык программирования, конечно, используется, но только там где это действительно необходимо.

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

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

Что дает такой подход к построению бизнес-приложения? Во-первых, при описании метаданных широко используется визуальное редактирование. Это позволяет свести существенную часть разработки к визуальному проектированию, не требующему кропотливого написания кода. Однако у данного подхода есть и другие не менее важные преимущества. Описывая прикладное решение в терминах метаданных, разработчик «сообщает» платформе много очень полезной информации, которую та может эффективно использовать в самых различных целях. На основе метаданных система автоматически «выстраивает» большую часть механизмов и объектов, обеспечивающих функционирование прикладного решения. Например, описания метаданных платформе достаточно для того, чтобы автоматически сформировать пользовательский интерфейс системы, обеспечивающий ввод и редактирование взаимосвязанной информации. Другой пример — возможность построения даже конечным пользователем, не имеющим навыков программирования, достаточно сложных отчетов.

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

Эта идеология (Metadata Driven) сегодня находит все большее применение во многих перспективных разработках.

Построение приложения на основе модели

В «1С:Предприятии» изначально заложена строгая ориентация на построение прикладного решения на основе определенной модели.

Этот подход является весьма перспективным и по нашей оценке будет доминирующим в обозримом будущем в современных средствах разработки. Идеи построения бизнес-приложений на основе модели, например, нашли воплощение в архитектуре MDA (Model Driven Architecture) консорциума OMG.

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

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

Очевидным следствием этого подхода является изоляция разработчика бизнес-приложения от деталей технологий хранения информации, организации трехуровневой архитектуры и т. д. Например, как уже отмечалось выше, все прикладные решения, базирующиеся на «1С:Предприятии», без каких-либо изменений работают как с собственным файловым движком БД, так и с сервером БД. При этом необходимые структуры данных создаются и изменяются системой автоматически на основе описания метаданных, и разработчику не приходится вникать в детали форматов хранения конкретных СУБД. Манипулирование данными в приложении также описывается в высокоуровневой модели и автоматически исполняется с учетом особенностей используемого хранилища.

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

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

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

Управление данными

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

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

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

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

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

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

Для всех операций модификации данных (создания, изменения и удаления) в «1С:Предприятии» применяется исключительно объектная техника. Это означает, что разработчик взаимодействует с БД не на уровне записей, а с помощью объектов, соответствующих хранимым в БД сущностям. Для изменения хранимых данных, ему не нужно писать сложные запросы и преобразовывать результаты их обработки в объекты языка программирования. Достаточно получить объект из базы данных, изменить его свойства и снова сохранить. Разработчик имеет при этом возможность написать обработчики событий, связанных с изменением данных, выполняя с их помощью различные проверки и изменяя при необходимости другие данные. Система обеспечивает эффективную технологическую поддержку объектного подхода, осуществляя, например, кэширование объектов, контроль объектной и ссылочной целостности и т. д. Для чтения данных может использоваться как объектная техника, так и декларативный язык запросов, который основывается на классическом SQL, но имеет ряд существенных расширений. Расширения направлены с одной стороны на поддержку работы с объектами, хранящимися в базе данных, а с другой — на эффективное решение экономических задач. Ниже мы рассмотрим язык запросов более подробно:

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

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

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

Здесь, немного забегая вперед, следует сказать, что в модели «1С:Предприятия» реализована наиболее современная концепция работы с информацией, сочетающая три способа представления данных — хранение сущностей в базе данных, их представление в языке программирования в виде объектов и отображение в формате XML. Фактически любая информация может в зависимости от текущего режима работы представляться одним из этих трех способов.

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

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

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

Одной из отличительных особенностей модели «1С:Предприятия», не имеющей, как нам кажется, прямых аналогов в других подобных системах является деление всех прикладных данных на те, что имеют объектную природу и не имеющие таковой. Заметим, что для манипулирования и теми и другими используется объектная техника.

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

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

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

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

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

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

Еще одной важной особенностью объектной техники, принятой в платформе «1С:Предприятие», является то, что те же объекты, которые присутствуют в модулях на встроенном языке (как для объектных, так и для не объектных сущностей) используются и для отображения данных в интерфейсе. Элементы управления форм непосредственно связываются с нужными объектами, и обеспечивают их отображение и редактирование пользователем без какой-либо помощи со стороны разработчика.

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

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

Еще одним важным решением в части работы с данными в «1С:Предприятии» является поддержка в полях таблиц составных типов данных. Эта возможность, насколько нам известно, не имеет близких аналогов в других системах. При описании типа поля какого-либо объекта можно выбрать не только один из доступных типов, но и практически любую (с некоторыми ограничениями) их комбинацию. Например, в поле «Плательщик» в документе, отражающем операцию с банком, допускается хранение ссылки на юридическое или физическое лицо в зависимости от конкретной операции. Хотя приведенный пример является достаточно простым, возможность работы с составными типами позволяет решать такие задачи, как хранение произвольных характеристик товаров, ведение аналитического учета на бухгалтерских счетах по любому составу аналитических разрезов, настраиваемых пользователем и т. д. Важно, что система не просто предоставляет возможность хранения в одном поле разнородных значений, а делает это прозрачным для разработчика способом. Прежде всего, необходимо отметить полную поддержку работы с полями составных типов «движка» базы данных и языка запросов. Для этих полей поддерживается весь набор стандартных операций (сравнение, агрегирование и т. д.). Другим важным моментом является поддержка составных типов в интерфейсных механизмах системы. Например, поле ввода, связанное с данными такого составного типа, предоставляет весь набор возможностей редактирования (выбор типа; редактирование значений всех типов, входящих в указанное поле; ограничение выбираемых типов).

Отдельного внимания заслуживают также средства формирования запросов «1С:Предприятия». Мы уже упомянули, что они основаны на конструкциях стандартного языка SQL, но имеют ряд существенных расширений.

Прежде всего, следует отметить поддержку в языке запросов объектов, хранящихся в БД. Все операторы языка запросов обеспечивают работу со ссылочными типами (полями, хранящими ссылки на объекты БД). Например, поддерживается обращение к полям в нотации «через точку» без ограничения количества уровней. Можно указать в запросе выборку такого поля, как «Товар.Производитель.Страна.Наименование». Для объектов базы данных допускается обращение к вложенным таблицам и как к отдельным таблицам, и как к обычным полям объекта, содержащим коллекции записей.

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

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

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

Стандартные прототипы прикладных объектов

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

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

В модели разработки «1С:Предприятия» используется подход, которому мы не нашли явного аналога в других системах. Здесь все прикладное решение описывается метаданными в виде совокупности прикладных объектов, выбираемых из жестко определенного набора прототипов (классов). Можно было бы назвать создаваемые объекты бизнес-компонентами, а их прототипы шаблонами (patterns). Каждый такой прототип отвечает за отражение вприкладном решении определенной совокупности объектов или процессов предметной области, имеющих схожие поведенческие характеристики и сходную роль в общей картине решения.

Примерами таких прототипов в «1С:Предприятии» являются «Справочники», «Документы», «Регистры накопления». Каждый прототип имеет некоторую базовую реализацию, которая определяет особенности функционирования, создаваемых на основе данного прототипа объектов: структуру хранимых сущностей вместе с некоторыми предопределенными полями, набор типов языка программирования, методы, свойства и события, а также типовые для решаемой задачи операции, способы отображения и редактирования, методы регулирования прав доступа и т. д.


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

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

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

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

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

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

Прикладные объекты и механизмы

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

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

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

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

Остановимся немного подробнее на некоторых возможностях этих двух прототипов.

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

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

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

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

Еще одним характерным примером служит механизм характеристик, предназначенный для решения задач, которые плохо согласуются с классической реляционной моделью базы данных. Одной из таких задач, является построение структуры для отражения разнообразных свойств (характеристик) номенклатуры товаров или изделий. Если создается решение для одной организации с четкой ориентацией на определенную группу товаров, то все необходимые реквизиты можно заложить непосредственно в структуру каталога товаров. Например, для дилерской фирмы по продаже автомобилей ими будут цвет, объем двигателя и т. д. Однако если создается тиражное бизнес-приложение, или решение для организации, занимающейся производством или продажей разнообразной номенклатуры, этот вариант не подходит, так как очевидно, что состав характеристик должен зависеть от конкретной группы номенклатуры и добавление каждой новой группы не должно сопровождаться доработкой прикладного решения. Очевидно, что реализация такого решения плохо ложится в реляционную структуру и требует особого подхода. Реализованный в «1С:Предприятии» механизм характеристик предоставляет разработчику типовое средство решения подобных задач. Специализированный прототип предназначен для организации хранения списка видов характеристик. При этом каждому такому виду приписывается свой тип данных. Например, объем двигателя будет задаваться числом, а цвет выбираться из справочника. Важно, что конкретные виды характеристик могут не только определяться в самом приложении, но и добавляться пользователем в процессе эксплуатации системы без изменения прикладного решения. При этом разработчик может задействовать данный механизм в самых различных ситуациях, например, для хранения логически связанных комбинаций характеристик номенклатуры и расчета себестоимости в разрезе имеющихся комбинаций.

Еще одним интересным решением является механизм бизнес-процессов (work-flow), позволяющий разработчику организовать совместную работу пользователей при выполнении типовых последовательностей деловых операций. Во многих существующих информационных системах для решения задач work-flow используются специализированные продукты, которые приходится интегрировать с приложениями, решающими экономические задачи. В платформе «1С:Предприятие» механизм бизнес-процессов полностью интегрирован в систему таким образом, что ни разработчик ни пользователь не видят «швов» разделяющих этот механизм и другую функциональность. Этот механизм включает средства для описания в прикладном решении схем бизнес-процессов, и их ролевой маршрутизации, для формирования заданий, выполняющихся в каждой точке маршрута, для управления бизнес-процессом и организации его связи с другими функциями прикладного решения.Данный механизм предоставляет разработчику гибкие возможности управления ветвлением процесса и формирования задач. Например, кроме обычного условного ветвления разработчик может визуально описать параллельное прохождение нескольких веток маршрута, и указать точку их слияния. Допускается направление одного задания группе потенциальных исполнителей, например, если выписать счет должен один из менеджеров отдела. И наоборот, в некоторой точке маршрута можно инициировать несколько заданий, например, если финансовые отчеты должны представить все руководители отделов. Ролевая маршрутизация позволяет формировать задачу не только непосредственно конкретному сотруднику, но и распределять задачи по ролям, подразделениям и другим критериям, которые может описать разработчик прикладного решения. При осуществлении ролевой маршрутизации разрешается указывать текущее распределение обязанностей сотрудников с учетом временных замещений, совмещений нескольких должностей и т. д. Важно отметить, что данный механизм предлагает готовую стратегию автоматизации совместной деятельности работников предприятия. Для описания простейших бизнес-процессов достаточно визуального задания схемы маршрута и указания условий ветвления в их узловых точках. Все остальные действия выполняются системой автоматически. При реализации сложных бизнес-процессов усилия разработчика требуются в основном для тесной их увязки с функциями прикладного решения.

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

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

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

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

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

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

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

Механизм сведений предназначен для решения задач, связанных с хранением разнообразной информации об объектах в различных разрезах.

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

Еще раз подчеркнем, что в модели «1С:Предприятия» прикладные механизмы и лежащие в их основе прототипы — это не просто набор шаблонов, которые разработчик может использовать «по мере надобности». Всё прикладное решение с необходимостью основывается на использовании предлагаемого набора прототипов.

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

Высокоуровневая модель интерфейса

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

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

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

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

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

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

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

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

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

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

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

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

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

В частности, в «1С:Предприятии» реализована собственная модель оконной системы, ориентированная. на работу с большим количеством разнородной информации. Например, максимизация окна управляется пользователем для каждой формы отдельно, а не как единый режим для всего приложения (как это принято в стандартных MDI приложениях). Кроме традиционных видов окон, в ней используются прикрепленные и прячущиеся окна. В интерфейсе «1С:Предприятия» из модального окна разрешается вызов немодальных окон, благодаря чему, фактически, образуется несколько слоев многооконного интерфейса. Разработчик может открывать модально любые формы, не изменяя логики их работы.

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

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

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

Следует упомянуть и о Web-расширении — механизме, позволяющем реализовывать Web-интерфейс к прикладным решениям «1С:Предприятия». Мы не будем рассказывать о деталях технологического устройстве этого механизма. Наиболее интересным в его реализации, на наш взгляд является то, что он также как и основной (rich) интерфейс максимально использует для автоматического формирования Web-форм информацию из метаданных, а также знания о назначении и устройстве прототипов прикладных объектов. Форма для редактирования любого объекта или просмотра списка объектов создается Web-расширением автоматически или может быть определена разработчиком вручную в проекте. Если разработчик описывает форму самостоятельно, то в его распоряжении специализированные элементы управления, которые не только позволяют организовать связь с теми или иными данными, но и предоставляют всю необходимую функциональность по просмотру и редактированию. Например, в полях ввода поддерживается выбор из форм-списков и подбор по первым буквам, в списках поддерживается иерархический просмотр, настройка пользователем фильтрации и сортировки. Система предоставляет большой набор стандартных действий по «обслуживанию» данных и самостоятельно организует связь между формами приложения. Таким образом обеспечивается единообразие двух вариантов пользовательского интерфейса (разумеется, с поправкой на особенности среды Web), а также максимальная автоматизация их разработки, основанная на использовании информации из метаданных.

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

Интеллектуальные механизмы подготовки отчетов

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

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

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

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

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

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

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

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

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

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

Не были забыты и вопросы эффективности изобразительных средств. В «1С:Предприятии» для визуализации и печати отчетов используется прежде всего метафора табличного документа (без средств вычислений). Основной идеей данного решения является использование модели электронной таблицы (spreadsheet) в качестве средства оформления отчетных документов, без использования ее как средства вычисления.

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

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

Важно, что средство генерации табличных документов служит не только для получения статических печатных форм. В нем имеется мощный интерактивный механизм для управления многоуровневыми группировками, расшифровки ячеек отчета (drill-down), автонастройки ширины колонок и т. д. Допускается сохранение отчета в различных форматах (html, xls, txt). Кроме того, для интерактивного анализа многомерной информации в табличном документе может использоваться сводная таблица, которая позволяет непосредственно управлять группировкой информации и составом отображаемых данных, не обновляя отчета.

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

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

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

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

Построение распределенных и интегрированных информационных систем

Еще одной «козырной картой» платформы «1С:Предприятие» являются механизмы обмена данными.

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

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

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

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

Наличие в платформе эффективных, не требующих сложной настройки механизмов обмена обязано, прежде всего, общей архитектуре построения прикладных решений, реализованной в платформе «1С:Предприятие». Мы уже говорили, о том, что органичный переход к распределенным и интегрированным системам обеспечивается объектной техникой манипулирования данными, используемой в «1С:Предприятии». Система соответствующих объектов обеспечивает штатные возможности сохранения (persistence) любых прикладных данных в формате XML. Кроме того, благодаря наличию стандартных прототипов прикладных объектов платформа способна автоматически задавать для каждого объекта необходимую гранулярность передачи изменений и стратегию обмена в соответствии с его назначением. Основной проблемой большинства известных систем обмена и репликации является то, что в заложенной в них семантике описания данных не содержится сведений о том, какими порциями выполнять обмен, как разрешать коллизии, как обеспечивать логическую целостность и непротиворечивость данных. Из-за этого разработчику при использовании подобных механизмов обычно приходится детально описывать процедуры обмена для каждого информационного массива.

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

Другая важная особенность механизмов обмена «1С:Предприятия» — их соответствие передовым мировым концепциям интеграции информационных систем. Мы прекрасно понимаем, что сегодня ни один разработчик экономического софта не может считать себя «царем горы», которому нет необходимости заботиться о тесном взаимодействии с системами других вендоров. В данном контексте взаимодействие — не просто умение вызвать какую-то функцию из другой программы или экспортировать в нее какие-либо данные. Речь идет о построении сложных гетерогенных систем, в которых несколько разнородных прикладных решений образуют слаженно действующий ансамбль. Очевидно, что эта тенденция станет в обозримом будущем одной из доминирующих на рынке экономических систем. Механизмы обмена «1С:Предприятия» имеют высокую готовность к работе в гетерогенных системах сегодняшнего и завтрашнего дня не только за счет того, что весь обмен производится на формате XML, но, что еще более важно, в силу идеологического соответствия реализованных решений указанной тенденции. Уже сегодня механизмы обмена «1С:Предприятия» позволяют осуществлять взаимодействие не только с отдельными приложениями, но и с перспективными интеграционными платформами.

Поставка и обновление прикладных решений

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

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

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

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

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

А также…

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

Выполнение алгоритмов бизнес-логики разработчик может по своему усмотрению переносить на сервер «1С:Предприятия». Это позволяет ему управлять распределением нагрузки между клиентом и сервером. При этом от разработчика не требуется специальных навыков построения трехуровневых архитектур, знания сетевых протоколов и т. д. Все технологические детали система берет на себя и обеспечивает рациональное использование серверных ресурсов за счет поддержки stateless-модели, кэширования и разделения системных ресурсов и т. д.

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

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

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

В «1С:Предприятии» поддерживается протоколирование действий пользователей в журнале регистрации. Система имеет несколько уровней протоколирования, которые могут функционировать автоматически, не требуя дополнительных усилий со стороны разработчика. Прежде всего, разумеется, фиксируются начало и окончание сеансов работы пользователей, административные операции с информационной базой, а также регистрируемые ошибки. За счет того, что все изменения в БД выполняются исключительно в объектной технике (через объекты, отвечающие за манипулирование данными), система может автоматически регистрировать их в журнале, причем будет делать это независимо от того, как они выполнялись (интерактивно или программно). Разработчик может также реализовать внесение в журнал любых других записей, которые система не способна фиксировать автоматически, например, информацию об отправке факса или формировании отчета. Важно заметить, что журнал регистрации реализован как отдельный системный механизм. Он не использует для хранения информации базу данных «1С:Предприятия», а, следовательно, его ведение не создает существенной дополнительной нагрузки на систему и не замедляет работу пользователей.

Итак…

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

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

Сформулируем еще раз несколько общих принципов, лежащих в основе модели «1С:Предприятия»:

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

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

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

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

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


Статья опубликована в газете PC Week/Russian Edition (издается по лицензии международного издательского дома Ziff-Davis Media Inc.), NN 46 , 47 и 48 за 2004 г. Перед публикацией на сайте v8.1c.ru в статью был внесен ряд дополнений, по техническим причинам не вошедших в газетный вариант, а также добавлены иллюстрации.

Фирма «1С» благодарит редакцию PC Week/RE за сотрудничество и помощь при подготовке статьи к публикации.


не удалось выполнить ваш запрос, потому что смарт-объект нельзя редактировать напрямую —

Несколько пользователей видят Не удалось завершить ваш запрос, потому что смарт-объект не редактируется напрямую ошибка при попытке вырезать или удалить выбранную часть из изображения в Photoshop. Сообщается, что эта конкретная ошибка возникает в CS3, CS4, CS5, CS6 и во всех версиях CC Photoshop.

Не удалось завершить ваш запрос, потому что смарт-объект не редактируется напрямую

Что вызывает смарт-объект не является непосредственно редактируемой ошибкой?

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

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

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

Способ 1: разблокировка слоя изображения

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

Это позволит вам удалить, вырезать или изменить выбор изображения без получения Не удалось выполнить ваш запрос, потому что смарт-объект не редактируется напрямую » ошибка.

Вот краткое руководство о том, как это сделать:

  1. Откройте Photoshop и загрузите изображение, отображающее сообщение об ошибке.
  2. Прежде чем сделать выбор, перейдите к Слои вкладку с помощью правого меню и нажмите на Замок значок, чтобы разблокировать частично заблокированный слой.
    Разблокировка частично заблокированного слоя
  3. Когда слой разблокирован, выберите область, которую вы хотите вырезать, скопировать и удалить, и посмотрите, все ли еще происходит ошибка.

Если вы все еще видите ту же ошибку, перейдите к Способ 2

Метод 2: Разрешение векторного конфликта

Другой распространенный подход, который приведет к этой ошибке, — это если вы пытались использовать растровые инструменты над слоем формы. Есть два способа разрешить конфликт этого короля:

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

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

  1. открыто файл Photoshop, с которым вы столкнулись.
  2. Щелкните правой кнопкой мыши на слое, который показывает сообщение об ошибке и выберите Растеризовать слой.
    Растеризация слоя смарт-объекта

    Замечания: Вы также можете использовать функцию «Упростить слой», чтобы преобразовать смарт-объект в обычный растеризованный слой.

  3. После растеризации смарт-объекта удалите, обрежьте или повторите ту же процедуру, которая вызвала проблему. У вас не должно возникнуть никаких проблем.

 

Состаривание молодых — Уроки Photoshop. Как в Фотошопе сделать лицо моложе

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

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

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

2. Открываем фотографию пожилого человека и вставляем в фотографию с молодым

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

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

5. Выбираем кисть. Начинаем с черного цвета, оставляем только морщины

6. Поменяем режим наложения слоев на Жесткий свет (Hard light).

7. Нажимаем Ctrl+U, чтобы открыть окно Цветовой тон/насыщенность.

Ставим следующие настройки:

Цветовой тон +15
Насыщенность -38
Яркость 0

Результат:

8. С помощью инструмента Лассо выделяем волосы, спадающие на лоб

9. Нажимаем Ctrl+Alt+D, вызывая диалоговое окно растушевки границ выделения. Ставим радиус = 10

10. Зажимаем Ctrl+J, чтобы продублировать наше выделение на новый слой.

Нажимаем Ctrl+M, чтобы открыть окно Кривые.
Настройки выставляем как на рисунке.

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

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

Итак, приступим. Откройте исходный снимок в графическом редакторе.

Нажмите меню «Изображение – Режим – CMYK». Таким образом, вы разобьете картинку на несколько цветовых каналов.

Затем выберите меню «Окно – Каналы» и в открывшемся окошке выберите желтый канал, щелкнув по нему.

Выделите все содержимое канала, нажав сочетание клавиш Ctrl + A. Сразу же скопируйте все выделение посредством сочетания клавиш Ctrl + C.

Теперь вам нужно снова преобразовать картинку в RGB режим. Для этого выбрав меню «Окно – История» нажмите на пункте предшествующем преобразованию цветового режима.

После этого, создайте новый слой на исходном снимке, и, выделив его, нажмите сочетание клавиш Ctrl + V. Так вы вставите скопированную из желтого канала информацию.

В параметрах наложения слоя, установите режим «Перекрытие».

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

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

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


Инструкция

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

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

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

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

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

Источники:

  • сделать фото старой
  • Как состарить изображение, фотографию или картинку в Фотошопе?

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

Инструкция

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

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

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

Во время поездок почти все считают, что обязательно нужно на фоне какого-то знаменитого объекта. Эйфелева , Колизей, Кремль… Человек отбегает как можно дальше от фотографа, чтобы влезло все – и он, и объект. В результате обычно получается, что не видно вообще, а искомый объект наполовину . Поищите другие ракурсы. Например, отойдите от объекта подальше. Тогда можно будет удачно поместить в кадр и человека , и ту самую Эйфелеву башню, которая на большом расстоянии кажется совсем маленькой.

Источники:

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

Инструкция

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

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

Источники:

  • с негатива фото

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

Инструкция

Откройте в программе фотографию, которую вы хотите обработать, и продублируйте основной слой (Duplicate Layer). Затем на дубликате слоя, используя на панели инструментов кисть Healing Brush Tool, отретушируйте кожу , изображенного на фото, чтобы устранить мелкие дефекты и неровности. После этого откройте меню Layer и выберите опцию New Adjustment Layer -> Color Balance.

Видео по теме

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

Вам понадобится

  • — исходная фотография;
  • — установленный Adobe Photoshop.

Инструкция

Загрузите в Adobe Photoshop изображение, предназначенное для обработки. Нажмите Ctrl+O. В диалоге Open перейдите к каталогу с нужным файлом, выделите его и нажмите «Открыть».

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

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

Проконтролируйте качество базовой ретуши. Просмотрите изображение в разных масштабах. Убедитесь в отсутствии сильных дефектов на изображении лица.

Приступите к тонировке изображения кожи для создания эффекта идеальной гладкости. Дублируйте текущий слой. В меню выберите Layer и «Duplicate Layer…». Измените режим наложения слоя. Выберите Vivid Light в выпадающем списке панели Layers.

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

Конечное изображение после обработки:

Что нам потребуется

Откройте в фото молодой девушки (или любой другой портрет). Первое, что нужно сделать, — придать обвислость некоторым частям лица. Речь идет о скулах, носе и челюсти, потому что именно они обычно обвисают у стариков. Для этого сделайте копию оригинального слоя (Ctrl + Shift + Alt + J ) и примените Liquify Filter (Разжижение) (Filter > Liquify ). Используйте инструмент Forward Warp Tool (Передняя деформация), чтобы создать эффект отвисания выделенных областей. Работайте на малых установках – вы же не пытаетесь создать карикатурное изображение.

Шаг 2

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

Шаг 3

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

В созданном слое Hue/Saturation снизьте насыщенность до -90. Заполните маску слоя черным и белой кистью пририсуйте волосы в этой маске слоя. Затем добавьте слой Curves (Кривые) и немного осветлите волосы. Кривую немного поднимите вверх так, как показано на рисунке ниже, чтобы добиться желаемого эффекта.

После этого создайте новый слой (Ctrl + Shift + Alt + N ) и кистью толщиной в один пиксель и при параметрах кисти Opacity (Непрозрачность) в 50% и Flow (Нажим) в 50% прорисуйте некоторые случайные пряди. Работайте осторожно, но если заметно, что волосы подрисованы искусственным способом, попробуйте снизить значения Flow или Opacity.

Шаг 4

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

Создайте новый слой и выберите инструмент Clone Stamp Tool (горячая клавиша S) (Штамп). Установите непрозрачность инструмента на 30-40% и, удерживая клавишу Alt, для образца щелкните где-то в районе бровей. Закрасьте брови из выбранной области. Опять же, работать нужно очень аккуратно. Ниже вы можете увидеть, как выглядит слой с клонированной области бровей.

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

Откройте изображение старой женщины, сделайте полное выделение (Ctrl + A), скопируйте его (Ctrl + C) и вставьте в вашу фотографию (Ctrl + V). Далее нужно уменьшить насыщенность этого слоя (Ctrl + Shift + U) и изменить режим смешивания на . Добавьте маску слоя (Layer-Layer Mask-Hide All ) и, используя белую мягкую кисть с установками непрозрачности в 30-40%, прорисуйте ею в тех местах, где вы хотите видеть морщины в маске слоя. Чтобы морщины находились в нужных местах, используйте инструмент Free Transform , который позволит изменить размер фотоснимка и положение нового слоя по отношению к исходному. В этом примере после загрузки изображения старухи и уменьшения насыщенности нового слоя, был использован инструмент Free Transform (Ctrl + T), чтобы правильно поместить её изображение на лицо молодой женщины.

После заполнения маски слоя черным цветом, была использована белая круглая мягкая кисть с установками Opacity в 40% , чтобы появились морщины на лбу.

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

Так выглядел снимок после вышеописанных действий:

Шаг 6

В завершение фотоснимок подвёргся незначительной коррекции вручную. В частности при помощи кисти в один пиксель при установках 20% Opacity и 40% Flow были прорисованы мелкие морщины над верхней губой, на шее и вокруг глаз. При увеличении кисти до 30-40 пикселей можно нарисовать темные мешки под глазами. Эта процедура является необязательной, но добавляет больше реализма. Главное здесь не переборщить, потому что слишком глубокие морщины навевают мысли о подделке.

Конечное изображение

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

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

В этом уроке я покажу несколько приемов состаривания фотографии в Фотошопе.

Для начала необходимо понять, чем же старое фото отличается от современного, цифрового.

Во-первых, четкость изображения. На старинных фотографиях объекты обычно имеют несколько размытые очертания.

Во-вторых, старая фотопленка имеет так называемую «зернистость» или попросту шумы.

В третьих, старая фотография просто обязана иметь физические недостатки, такие как царапины, потертости, заломы и прочее.

И последнее – цвет на старинных фото может быть только один – сепия. Это специфический светло-коричневый оттенок.

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

Исходное фото для урока я выбрал такое:

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

Приступаем к обработке…

Создаем копию слоя с нашим изображением, просто нажав комбинацию клавиш CTRL+J на клавиатуре:

С этим слоем (копией) мы и совершим основные действия. Для начала – размытие деталей.

Воспользуемся инструментом «Размытие по Гауссу» , который можно (нужно) найти в меню «Фильтр – Размытие» .

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

С размытием главное не переусердствовать. Делаем фото немного не в фокусе.

Теперь займемся приданием цвета нашей фотографии. Как помним, это сепия. Для достижения эффекта воспользуемся корректирующим слоем «Цветовой тон/Насыщенность» . Нужная нам кнопка находится внизу палитры слоев.

В открывшемся окне свойств корректирующего слоя ставим галку возле функции «Тонирование» и выставляем значение для «Цветового тона» 45-55 . Я выставлю 52 . Остальные ползунки не трогаем, они автоматически становятся на нужные позиции (если Вам кажется, что так будет лучше, то можно и поэкспериментировать).

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

Для того чтобы не запутаться в слоях и операциях, создадим отпечаток всех слоев, нажав сочетание клавиш CTRL+SHIFT+ALT+E . Полученному слою можно дать название, например, «Размытие+Сепия» .

Настройки фильтра следующие: распределение – «Равномерная» , галку возле «Монохромный» оставляем.

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

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

Ищем в Гугл-Картинках текстуру с царапинами. Для этого набираем в поисковике запрос «царапины» без кавычек.

Мне удалось найти такую текстуру:

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

На текстуре появится рамка, при помощи которой можно, если требуется, растянуть ее на весь холст. Нажимаем ENTER .

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

Для начала смарт-объект нужно растрировать. Нажимаем правой кнопкой мыши по слою с текстурой и выбираем соответствующий пункт меню.

Затем нажимаем сочетание клавиш CTRL+I , тем самым инвертируя цвета на изображении.

Теперь меняем режим наложения для этого слоя на «Мягкий свет» .


Получаем поцарапанное фото. Если царапины кажутся не очень выраженными, то можно создать еще одну копию текстуры сочетанием клавиш CTRL+J . Режим наложения унаследуется автоматически.

Непрозрачностью регулируем силу эффекта.

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

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

Снова создаем отпечаток слоев (CTRL+SHIFT+ALT+E ) и снова перетаскиваем текстуру на наш рабочий документ. Растягиваем, если необходимо и жмем ENTER .

Текстуру необходимо переместить ПОД отпечаток слоев.

Затем нужно активировать верхний слой и поменять для него режим наложения на «Мягкий свет» .

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


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

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

Вот что у меня получилось после данной процедуры:

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

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

Заключительный штрих.

Как известно, фотографии со временем тускнеют, теряют контраст и насыщенность.

Создаем отпечаток слоев, а затем применяем корректирующий слой «Яркость/Контрастность» .

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

Для еще большего снижения контраста можно воспользоваться корректирующим слоем «Уровни» .

Ползунками на нижней панели добиваемся нужного эффекта.

Полученный на уроке результат:

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

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

Совершенствуйте навыки работы в Фотошопе, и удачи в Вашем творчестве!

Компоненты редактора — Visual Studio (Windows)

  • Статья
  • Чтение занимает 9 мин
Были ли сведения на этой странице полезными?

Оцените свои впечатления

Да Нет

Хотите оставить дополнительный отзыв?

Отзывы будут отправляться в корпорацию Майкрософт. Нажав кнопку «Отправить», вы разрешаете использовать свой отзыв для улучшения продуктов и служб Майкрософт. Политика конфиденциальности.

Отправить

В этой статье

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

В следующих разделах описываются различные аспекты редактора:

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

Общие сведения о подсистемах

Подсистема текстовых моделей

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

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

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

  • Система для описания текста в буфере с точки зрения подмножества текста в других буферах.

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

открытые типы подсистемы текстовых моделей содержатся в Microsoft.VisualStudio.Text.Data.dll и Microsoft.VisualStudio.CoreUtility.dll, которые зависят только от платформа .NET Framework библиотеки базовых классов и Managed Extensibility Framework (MEF).

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

Подсистема представления текста отвечает за форматирование и отображение текста. типы в этой подсистеме делятся на два уровня в зависимости от того, используют ли типы Windows Presentation Foundation (WPF). Наиболее важными типами являются ITextView и IWpfTextView , которые управляют набором отображаемых текстовых строк, а также курсором, выделением и возможностями декоративного текста с помощью элементов ПОЛЬЗОВАТЕЛЬСКОГО интерфейса WPF. Эта подсистема также предоставляет поля вокруг области вывода текста. Эти поля могут быть расширены и могут содержать различные виды содержимого и визуальных эффектов. Примерами полей являются отображение номеров строк и полос прокрутки.

Открытые типы подсистемы представления текста содержатся в Microsoft.VisualStudio.Text.UI.dll и Microsoft.VisualStudio.Text.UI.Wpf.dll. Первая сборка содержит независимые от платформы элементы, а вторая содержит элементы, относящиеся к WPF.

Подсистема классификации

Подсистема классификации отвечает за определение свойств шрифта для текста. Классификатор разбивает текст на разные классы, например «ключевое слово» или «Comment». Схема формата классификации связывает эти классы с фактическими свойствами шрифта, например «Blue consolas 10 pt». Эти сведения используются в текстовом представлении при форматировании и отрисовке текста. Теги, которые более подробно описаны далее в этом разделе, позволяют связывать данные с диапазонами текста.

Общедоступные типы подсистемы классификации содержатся в Microsoft.VisualStudio.Text.Logic.dll и взаимодействуют с визуальными аспектами классификации, которые содержатся в Microsoft.VisualStudio.Text.UI.Wpf.dll.

Подсистема операций

Подсистема операций определяет поведение редактора. он обеспечивает реализацию команд редактора Visual Studio и системы отмены.

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

Текстовая модель

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

Текстовые буферы и моментальные снимки текста

ITextBufferинтерфейс представляет последовательность символов юникода, закодированных с помощью UTF-16, который является кодировкой, используемой String типом в платформа .NET Framework. Текстовый буфер можно сохранить как документ файловой системы, но это необязательно.

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

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

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

Моментальные снимки текста и строки моментальных снимков текста

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

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

Точки snapshotpoint относятся, Снапшотспанс и Нормализедснапшотспанколлектионс

SnapshotPointПредставляет позиции символа в снимке. Гарантия должна лежать в пределах от нуля до длины моментального снимка. SnapshotSpanПредставляет охват текста в моментальном снимке. Конечное расположение гарантированно находится в диапазоне от нуля до длины моментального снимка. Объект NormalizedSnapshotSpanCollection состоит из набора SnapshotSpan объектов из одного и того же моментального снимка.

Охваты и Нормализедспанколлектионс

SpanПредставляет интервал, который может быть применен к диапазону текста в моментальном снимке текста. Позиции моментальных снимков отсчитываются от нуля, поэтому диапазоны могут начинаться в любой позиции, включая ноль. EndСвойство диапазона равно сумме его Start Свойства и его Length Свойства. В не Span входит символ, индексируемый End свойством. Например, диапазон с Start = 5 и length = 3 имеет End = 8 и содержит символы в позициях 5, 6 и 7. Для этого диапазона используется нотация [5.. 8).

Два диапазона пересекаются, если они имеют общие позиции, включая конечное положение. Таким образом, пересечение [3, 5) и [2, 7) имеет значение [3, 5), а пересечение [3, 5) и [5, 7) равно [5, 5). (Обратите внимание, что [5, 5) является пустым диапазоном.)

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

NormalizedSpanCollectionПредставляет собой список диапазонов в порядке начальных свойств диапазонов. В списке перекрывающиеся или смежные диапазоны объединяются. Например, при наличии набора диапазонов [5.. 9), [0.. 1), [3.. 6) и [9.. 10) нормализованный список диапазонов равен [0.. 1), [3.. 10).

Уведомления об изменении Итекстедит, TextVersion и текста

Содержимое текстового буфера можно изменить с помощью ITextEdit объекта. Создание такого объекта (с помощью одного из CreateEdit() методов ITextBuffer ) запускает текстовую транзакцию, которая состоит из редактирования текста. Каждое изменение — это замена некоторого фрагмента текста в буфере строкой. Координаты и содержимое каждого изменения выражаются относительно моментального снимка буфера при запуске транзакции. ITextEditОбъект корректирует координаты изменений, затрагиваемых другими изменениями в той же транзакции.

Например, рассмотрим текстовый буфер, содержащий следующую строку:

abcdefghij

Применить транзакцию, которая содержит два изменения, одно изменение, заменяющее диапазон в [2.. 4), с помощью символа X и второго изменения, заменяющего диапазон в [6.. 9), с помощью символа Y . Результат представляет собой следующий буфер:

abXefYj

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

Изменения в буфере вступают в силу при ITextEdit фиксации объекта путем вызова его Apply() метода. Если было по крайней мере одно непустое изменение, ITextVersion создается новое, ITextSnapshot создается новое и создается одно Changed событие. Каждая версия текста имеет другой текстовый моментальный снимок. Текстовый снимок представляет полное состояние текстового буфера после транзакции изменения, но версия текста описывает только изменения одного моментального снимка на следующий. Как правило, текстовые моментальные снимки предназначены для однократного использования, а затем отбрасываются, в то время как версии текста должны оставаться в активном состоянии.

Версия текста содержит INormalizedTextChangeCollection . Эта коллекция описывает изменения, которые при применении к моментальному снимку создают последующий моментальный снимок. Каждая ITextChange в коллекции содержит позиции символа изменения, замененной строки и строки замены. Замененная строка пуста для базовой вставки, а замещающая строка пуста для базового удаления. Нормализованная коллекция всегда используется null для последней версии текстового буфера.

ITextEditВ любой момент времени для текстового буфера можно создать только один объект, и все изменения текста должны выполняться в потоке, владеющем текстовым буфером (если владение запросило). Изменение текста может быть отменено путем вызова его Cancel метода или Dispose метода.

ITextBuffer также предоставляет Insert() Delete() методы, и Replace() , которые похожи на интерфейсы, находящиеся в ITextEdit интерфейсе. Вызов этих методов приведет к тому же результату, что ITextEdit и создание объекта, выполнение аналогичного вызова, а затем применение изменения.

Точки отслеживания и диапазоны отслеживания

Объект ITrackingPoint представляет позиции символа в текстовом буфере. Если буфер редактируется способом, который приводит к сдвигу позиции символа, точка отслеживания перемещается вместе с ней. Например, если точка отслеживания ссылается на позицию 10 в буфере и в начало буфера вставляется пять символов, точка отслеживания затем ссылается на позицию 15. Если вставка выполняется точно в той позиции, которая обозначена точкой отслеживания, ее поведение определяется свойством PointTrackingMode , которое может иметь значение Positive или Negative . Если режим отслеживания положительный, точка отслеживания ссылается на тот же символ, который теперь находится в конце вставки. Если режим отслеживания отрицательный, точка отслеживания ссылается на первый вставленный символ в исходной позиции. Если символ в позиции, представленной точкой отслеживания, удаляется, точка отслеживания переходит к первому символу, следующему за удаленным диапазоном. Например, если точка отслеживания ссылается на символ в позиции 5, а символы в позициях от 3 до 6 удаляются, точка отслеживания ссылается на символ в позиции 3.

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

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

Типы содержимого

Типы содержимого — это механизм для определения различных типов содержимого. Типом содержимого может быть тип файла, например «Text», «Code» или «binary», или тип технологии, такой как «XML», «VB» или «c#». например, слово «using» является ключевым словом в C# и Visual Basic, но не в других языках программирования. Таким образом, определение этого ключевого слова будет ограничено типами содержимого «c#» и «VB».

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

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

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

Представление текста

Часть представления в шаблоне контроллера представления модели (MVC) Определяет текстовое представление, форматирование представления, графические элементы, такие как полоса прокрутки, и курсор. все элементы представления редактора Visual Studio основаны на WPF.

Текстовые представления

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

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

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

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

Система координат текстового представления определяет позиции в текстовом представлении. В этой системе координат значение x 0,0 соответствует левому краю отображаемого текста, а значение y 0,0 соответствует верхнему краю отображаемого текста. Координата x увеличивается слева направо, а координата y увеличивается сверху вниз.

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

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

Margins

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

IWpfTextViewMarginProviderИнтерфейс обрабатывает создание и размещение полей. Поля можно упорядочивать по отношению к другим полям. Поля с более высоким приоритетом располагаются ближе к представлению текста. Например, если имеется два левого поля, поля а и поля B, а поле B имеет более низкий приоритет, чем поле A, то слева от поля A отображается поле B.

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

IWpfTextViewHostИнтерфейс содержит текстовое представление и все смежные украшения, сопровождающие представление, например полосы прокрутки. Узел представления текста также содержит поля, присоединенные к границе представления.

Форматированный текст

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

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

Текстовое представление форматируется ITextSnapshotLine по одному за раз.

Возможности редактора

Функции редактора разработаны таким образом, чтобы определение функции было отделено от его реализации. Редактор включает следующие функции:

  • Теги и классификаторы

  • Элементов оформления

  • Прогнозирование

  • Структуризация

  • Привязки мыши и клавиш

  • Операции и примитивы

  • IntelliSense

Теги и классификаторы

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

Другие виды тегов предназначены TextMarkerTag для выделения текста, OutliningRegionTag для структурирования и ErrorTag для ошибок компиляции.

Типы классификации

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

Классификация

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

Классификаторов

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

Агрегаторы-классификаторы

Агрегатор-классификатор — это механизм, объединяющий все классификаторы одного текстового буфера в один набор классификаций. Например, классификатор C# и классификатор английского языка могут создавать классификации на основе комментария в файле C#. Рассмотрим этот комментарий:

// This method produces a classifier

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

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

Форматирование и цветность классификации

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

Формат классификации — это набор свойств форматирования для определенного типа классификации. Эти форматы наследуются от формата родителя типа классификации.

IClassificationFormatMapПредставляет собой карту из типа классификации в набор свойств форматирования текста. Реализация формата Map в редакторе обрабатывает все экспорты форматов классификации.

Элементов оформления

Декоративные элементы — это графические эффекты, которые не связаны непосредственно с шрифтом и цветом символов в представлении текста. Например, подчеркнутая красной волнистой линией, используемая для пометки некомпилируемого кода во многих языках программирования, — это внедренное Оформление, а всплывающие подсказки — это всплывающие элементы. Декоративные элементы являются производными от UIElement и реализуют ITag . Два специализированных типа тега оформления — это SpaceNegotiatingAdornmentTag , для оформлений, которые занимают то же пространство, что и текст в представлении, и ErrorTag для подчеркивания волнистой линией.

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

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

Отображения

Проекция — это метод для создания другого типа текстового буфера, который фактически не сохраняет текст, а объединяет текст из других текстовых буферов. Например, буфер проекции можно использовать для сцепления текста из двух других буферов и представления результата так, как если бы он был в одном буфере, или для скрытия частей текста в одном буфере. Буфер проекции может служить исходным буфером для другого буфера проекции. Набор буферов, связанных проекцией, может быть создан для переупорядочения текста различными способами. (Такой набор также известен как граф буфера.) функция структурирования Visual Studio текста реализуется с помощью буфера проекции для скрытия свернутого текста, а редактор Visual Studio для ASP.NET страниц использует проекцию для поддержки встраиваемых языков, таких как Visual Basic и C#.

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

Буфер проекции прослушивает события изменения текста в исходных буферах. При изменении текста в исходном диапазоне буфер проекции сопоставляет измененные текстовые координаты с собственными координатами и создает соответствующие события изменения текста. Например, рассмотрим исходные буферы A и B с этими содержимым:

A: ABCDE
B: vwxyz

Если буфер проекции P формируется из двух текстовых диапазонов, один из которых имеет буфер A, а другой — все буфер б, то P имеет следующее содержимое:

P: ABCDEvwxyz

Если подстрока xy удаляется из буфера B, то buffer P создает событие, указывающее, что символы в позициях 7 и 8 были удалены.

Кроме того, буфер проекции можно изменять напрямую. Он распространяет изменения в соответствующие исходные буферы. Например, если строка вставляется в буфер P в позиции 6 (исходная позиция символа «v»), вставка передается в буфер B в позиции 1.

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

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

Граф буфера

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

События и буферы проекции

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

Структуризация

Структурирование — это возможность разворачивать или сворачивать различные блоки текста в текстовом представлении. Структурирование определяется как разновидность ITag таким же образом, как и пользовательские оформления. OutliningRegionTag— Это тег, определяющий область текста, которую можно развернуть или свернуть. Чтобы использовать структуризацию, необходимо импортировать, IOutliningManagerService чтобы получить IOutliningManager . Диспетчер структуры перечисляет, сворачивает и развертывает различные блоки, представленные в виде ICollapsible объектов, и вызывает события соответствующим образом.

Привязки мыши

Привязки мыши связывают перемещения мыши с различными командами. Привязки мыши определяются с помощью IMouseProcessorProvider , а сочетания клавиш определяются с помощью IKeyProcessorProvider . Объект IWpfTextViewHost автоматически создает экземпляры всех привязок и подключает их к событиям мыши в представлении.

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

Операции редактора

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

IntelliSense

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

Завершение операторов предоставляет всплывающие списки возможных завершений для имен методов, XML-элементов и других элементов кода или разметки. Как правило, пользовательский жест вызывает сеанс завершения. В сеансе отображается список возможных завершений, и пользователь может выбрать один или закрыть список. Объект ICompletionBroker отвечает за создание и активацию ICompletionSession . Выполняет ICompletionSource Вычисление CompletionSet элементов завершения для сеанса.

См. также

Не удается найти страницу | Autodesk Knowledge Network

(* {{l10n_strings.REQUIRED_FIELD}})

{{l10n_strings.CREATE_NEW_COLLECTION}}*

{{l10n_strings.ADD_COLLECTION_DESCRIPTION}}

{{l10n_strings.COLLECTION_DESCRIPTION}} {{addToCollection.description.length}}/500 {{l10n_strings.TAGS}} {{$item}} {{l10n_strings.PRODUCTS}} {{l10n_strings.DRAG_TEXT}}  

{{l10n_strings.DRAG_TEXT_HELP}}

{{l10n_strings.LANGUAGE}} {{$select.selected.display}}

{{article.content_lang.display}}

{{l10n_strings.AUTHOR}}  

{{l10n_strings.AUTHOR_TOOLTIP_TEXT}}

{{$select.selected.display}} {{l10n_strings.CREATE_AND_ADD_TO_COLLECTION_MODAL_BUTTON}} {{l10n_strings.CREATE_A_COLLECTION_ERROR}}

Исправление: не удалось выполнить ваш запрос, поскольку смарт-объект не редактируется напрямую

Несколько пользователей видят ошибку . Не удалось выполнить ваш запрос, поскольку смарт-объект не является редактируемой напрямую ошибкой при попытке вырезать или удалить выбранную часть из изображение в фотошопе. Сообщается, что эта конкретная ошибка возникает в CS3, CS4, CS5, CS6 и во всех версиях Photoshop CC.

Не удалось выполнить ваш запрос, поскольку смарт-объект не редактируется напрямую

Что вызывает ошибку смарт-объекта, не редактируемую напрямую?

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

  • Слой изображения, участвующий в выборе, заблокирован . Наиболее распространенная причина, по которой эта проблема возникает, — это когда выбранное изображение слой заблокирован или частично заблокирован. Следуйте методу 1, чтобы узнать, как разблокировать выбранный слой изображения.
  • Задействованный слой содержит векторные данные.  – Эта проблема также может возникнуть, если вы пытаетесь удалить выделение, содержащее векторные данные.В этом случае растрирование слоя должно решить проблему.

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

Метод 1: разблокировка слоя изображения

Как сообщили несколько пользователей, решение было таким же простым, как открытие изображения, которое вызывало ошибку в Photoshop, и разблокировка слоя изображения.

Это позволит вам удалить, вырезать или изменить выбранное изображение без получения ошибки Не удалось выполнить ваш запрос, поскольку смарт-объект не редактируется напрямую» .

Вот краткое руководство о том, как это сделать:

  1. Откройте Photoshop и загрузите изображение, на котором отображается сообщение об ошибке.
  2. Прежде чем сделать выбор, перейдите на вкладку Layers с помощью меню справа и щелкните значок Lock , чтобы разблокировать частично заблокированный слой.Разблокировка частично заблокированного слоя
  3. Когда слой разблокирован, выберите область, которую вы хотите вырезать, скопировать и удалить, и посмотрите, повторяется ли ошибка.

Если вы все еще видите ту же ошибку, перейдите к Способ 2.

Способ 2: Разрешение конфликта векторов

инструменты на основе слоя формы. Есть два способа разрешить конфликт этого короля:

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

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

  1. Откройте файл Photoshop, с которым вы столкнулись с проблемой.
  2. Щелкните правой кнопкой мыши на слое, на котором отображается сообщение об ошибке, и выберите Растеризовать слой .Растрирование слоя смарт-объекта

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

  3. После растрирования смарт-объекта удалите, вырежьте или повторите ту же процедуру, которая вызвала проблему. У вас не должно возникнуть проблем с его завершением.

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

Как исправить «Не удалось выполнить ваш запрос, поскольку смарт-объект нельзя редактировать напрямую» Ошибка в Photoshop

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

Смарт-объекты

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

Что вызывает сообщение «Ваш запрос не может быть выполнен, поскольку смарт-объект не редактируется напрямую»?

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

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

Как исправить сообщение «Ваш запрос не может быть обработан, поскольку смарт-объект не редактируется напрямую»?


Растеризация слоя
  1. Сначала откройте приложение Photoshop на своем устройстве.
  2. Щелкните правой кнопкой мыши слой, на котором отображается сообщение об ошибке, и выберите «Растрировать слой».
  3. После растрирования смарт-объекта вы можете попробовать повторить тот же процесс, который вызвал проблему, чтобы увидеть, исправлена ​​ли ошибка.

Преобразование смарт-объекта в обычный слой

  1. Дважды щелкните значок смарт-объектов на панели «Слои».
  2. Перейдите в Слой -> Смарт-объекты -> Редактировать содержимое.
  3. Перейдите в «Свойства» и выберите «Редактировать содержимое».

Разблокировать слой изображения

  1. Откройте Photoshop на своем компьютере.
  2. Загрузите изображение, отображающее сообщение об ошибке.
  3. Перед выбором перейдите на вкладку «Слои» в правом меню и щелкните значок блокировки, чтобы разблокировать частично заблокированный слой.
  4. Когда слой разблокирован, выберите область, которую хотите вырезать, скопировать и удалить.
  5. Проверьте, продолжает ли возникать ошибка.

Часто задаваемые вопросы
  1. В документе выберите слой смарт-объекта на панели «Слои».
  2. Выберите «Слой» > «Смарт-объекты» > «Редактировать содержимое».
  3. Нажмите OK, чтобы закрыть диалоговое окно.
  4. Редактировать свой файл пока совсем невозможно.
  5. Выберите «Файл» > «Сохранить», чтобы применить изменения.
  6. Закройте исходный файл.

Вы можете сделать это одним из следующих способов:

  • Выберите смарт-объект и выберите «Слой» > «Смарт-объекты» > «Растрировать».
  • Выберите смарт-объект, затем выберите «Слой» > «Растрировать» > «Смарт-объект».
  • Щелкните правой кнопкой мыши смарт-объект на панели «Слой» и выберите «Растрировать слой».

Если вы не возражаете против потери слоев, параметр «Растеризация» — отличный способ отключить смарт-объекты. Выбрав слой смарт-объекта, щелкните правой кнопкой мыши и выберите «Растрировать слой». Ваш смарт-объект будет деактивирован и преобразован обратно в обычный слой.

Как устранить ошибку «Не удалось выполнить ваш запрос, поскольку смарт-объект не редактируется напрямую»

Введение в слои и смарт-объекты

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

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

Решение для исправления ошибки «Не удалось выполнить ваш запрос, поскольку смарт-объект не редактируется напрямую»

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

«Не удалось выполнить ваш запрос, поскольку смарт-объект нельзя редактировать напрямую».

Решение 1. Преобразование смарт-объекта в обычный слой

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

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

  1. На панели Layers дважды щелкните значок Smart Objects
  2. Второй вариант — преобразовать смарт-объект в растровый слой. Для этого перейдите к Layer > Simplify Layer
  3. Перейти к Слой > Смарт-объекты > Редактировать содержимое
  4. Перейдите к Свойства и выберите Редактировать содержимое

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

Решение 2. Разблокируйте слой изображения

В большинстве случаев преобразование смарт-объекта в обычный слой (как описано в Решении 1) должно устранить ошибку «Смарт-объект не редактируется напрямую». Однако, если это не поможет, это может быть связано с тем, что изображение заблокировано.

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

  1. Откройте смарт-объект , который вы хотите редактировать
  2. Перейдите к Layers и щелкните значок Lock

После разблокировки образа вы сможете редактировать его содержимое без каких-либо ошибок.

Заключение

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

В таких случаях Remo Repair восстановит поврежденные файлы PSD на вашем Mac или Windows. Он восстанавливает ваш образ, используя механизм только для чтения, поэтому все слои файла изображения восстанавливаются без каких-либо изменений.Если у вас есть поврежденное изображение PSD, которое необходимо восстановить, попробуйте Remo Repair PSD.

Est-ce que les bégumes et les fruit Jespère que vous pourrez en faire quelque. Leur objectif est de faire disparaitre les. https://www.cialispascherfr24.com/ Les événements indésirables могилы associés aux soins des changements induitspar la réforme du Code.

Как редактировать смарт-объекты в Photoshop — Брендан Уильямс Creative

Смарт-объекты — один из самых полезных типов слоев в Photoshop, но только если вы знаете, как их редактировать.Смарт-объекты позволяют создавать неразрушающие корректировки, поскольку вы редактируете «контейнер» смарт-объекта, а не фактические слои внутри. Более того, смарт-объекты объединяют несколько слоев в один слой смарт-объектов, что также делает их хорошим вариантом для организации вашей панели слоев. Проблема в том, что после создания смарт-объекта, как вы можете редактировать содержимое внутри?

Чтобы отредактировать содержимое смарт-объекта в Photoshop, дважды щелкните миниатюру слоя смарт-объекта, чтобы открыть содержимое.В новой вкладке откроется смарт-объект, и вы сможете отредактировать его содержимое. После редактирования смарт-объекта нажмите Command/Control + S, чтобы сохранить и обновить его в своем проекте.

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

Как создавать смарт-объекты в Photoshop

Смарт-объекты

— это слои, содержащие данные изображения из растровых или векторных изображений, например файлы Photoshop или Illustrator.

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

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

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

Затем выберите Слой > Смарт-объекты > Преобразовать в смарт-объект , чтобы преобразовать выбранный слой.

Кроме того, более быстрый способ создания смарт-объектов в Photoshop — щелкнуть правой кнопкой мыши по слою и выбрать «Преобразовать в смарт-объект».

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

Как редактировать смарт-объект в Photoshop

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

Вариант 1: использование корректирующих слоев и обтравочной маски

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

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

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

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

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

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

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

Вариант 2: Редактирование содержимого смарт-объекта напрямую

Также можно редактировать отдельные слои, встроенные в смарт-объект, без редактирования всего изображения.

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

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

При сохранении изменений исходного содержимого в смарт-объекте изменения будут сохранены как часть смарт-объекта в исходном документе Photoshop.

В этом примере я редактирую макет визитной карточки.

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

Выбрав слой смарт-объекта, нажмите Слой > Смарт-объекты > Редактировать содержимое в раскрывающемся меню. Это откроет новое окно в Photoshop, отображающее содержимое смарт-объекта.

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

Содержимое смарт-объекта отображается на панели слоев.

После редактирования смарт-объекта необходимо сохранить изменения. Вы можете сделать это, нажав Файл > Сохранить .  

Сочетания клавиш:

Вы также можете использовать сочетание клавиш для сохранения изменений, сделанных в смарт-объекте:

  • Windows: Control + S
  • Mac OS: Command + S 

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

Как изменить размер смарт-объекта в Photoshop

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

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

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

Сначала откройте инструмент «Перемещение» ( V) и выберите смарт-объект на панели слоев.

Выбрав слой, поместите курсор на любой маркер смарт-объекта и перетащите его. Вы можете перетащить наружу, чтобы увеличить масштаб, и перетащить внутрь, чтобы уменьшить масштаб.

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

Почему умный объект не редактируемый? (Как исправить)

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

.

Это ошибка некоторых пользователей Photoshop, когда пытаясь редактировать смарт-объект.

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

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

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

Вы можете сделать это, щелкнув правой кнопкой мыши на слое Smart Object и выбрав Rasterize Layer , как показано ниже.

Как редактировать смарт-фильтры в Photoshop

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

Давайте рассмотрим шаги по применению, редактированию и удалению смарт-фильтра:

Шаг 1: выберите слой смарт-объекта

Выберите слой смарт-объекта, который вы хотите добавить, на панели слоев.

Шаг 2. Выберите фильтр

Выбрав слой, выберите фильтр для применения. Любой фильтр, который вы примените, автоматически станет смарт-фильтром под вашим смарт-объектом.

В этом примере воспользуемся фильтром Gaussian Blur. Вы можете создать это, выбрав Фильтр > Размытие > Размытие по Гауссу.

Шаг 3. Измените настройки фильтра

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

Шаг 4. Нажмите «ОК»

После применения фильтра смарт-фильтр появляется под слоем смарт-объекта на панели слоев.

Как редактировать смарт-фильтры в Photoshop

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

В этом примере давайте отредактируем только что созданный смарт-фильтр, дважды щелкнув фильтр под смарт-объектом. В данном случае это «Размытие по Гауссу».

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

Как удалить смарт-фильтр 

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

Чтобы удалить все смарт-фильтры, примененные к слою смарт-объекта, выберите смарт-объект и выберите «Слой » > «Смарт-фильтр» > «Очистить смарт-фильтр».  

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

Удачного редактирования!

Что означает, что смарт-объект нельзя редактировать напрямую? — Ответы на все

Что означает, что смарт-объект нельзя редактировать напрямую?

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

Как сделать смарт-объект редактируемым в Photoshop?

Редактировать содержимое смарт-объекта

  1. Выберите смарт-объект на панели «Слои» и выполните одно из следующих действий: Выберите «Слой» > «Смарт-объекты» > «Редактировать содержимое».
  2. Нажмите OK, чтобы закрыть диалоговое окно.
  3. Внесите изменения в исходный файл содержимого, затем выберите «Файл» > «Сохранить».

Какими способами можно использовать смарт-объект для обработки изображений?

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

Как масштабировать изображение без потери качества?

Как изменить размер изображения с помощью GIMP

  1. 1 Перейдите к «Изображение», затем к «Масштаб изображения»
  2. 2 Всплывающее диалоговое окно для изменения изображения без потери качества.
  3. 3 Введите новые значения размера и разрешения, чтобы изменить размер изображения без потери качества.
  4. 4 Отредактируйте качество с помощью интерполяции, чтобы изменить размер изображения без потери качества.

Как превратить смарт-объект в обычный слой?

Преобразование смарт-объекта в обычный слой

  1. Выберите смарт-объект, затем выберите «Слой» > «Смарт-объекты» > «Растрировать».
  2. Выберите смарт-объект, затем выберите «Слой» > «Растрировать» > «Смарт-объект».
  3. Щелкните правой кнопкой мыши смарт-объект на панели «Слои» и выберите «Растрировать слой».

Как избавиться от смарт-объекта?

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

Почему Photoshop говорит, что смарт-объект нельзя редактировать напрямую?

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

Как удалить объект в Photoshop?

Инструмент «Точечная восстанавливающая кисть»

  1. Приблизьтесь к объекту, который хотите удалить.
  2. Выберите инструмент «Точечная восстанавливающая кисть», затем «Тип с учетом содержимого».
  3. Проведите кистью по объекту, который хотите удалить. Photoshop автоматически исправит пиксели в выбранной области. Spot Healing лучше всего использовать для удаления мелких объектов.

Как отключить смарт-объект в Photoshop?

Вы можете отменить связь смарт-объекта, растрировав его. Попробуйте сделать это: активируйте свой смарт-объект, а затем перейдите к: Слой > Смарт-объекты > Растеризовать.

Как повторно связать смарт-объект в Photoshop?

Чтобы указать Photoshop новое местоположение исходного файла:

  1. Щелкните правой кнопкой мыши смарт-объект и выберите «Пересвязать с файлом»;
  2. Перейти к новому расположению исходного файла;
  3. Нажмите «Поместить», чтобы исправить неработающую ссылку.

Какой ключ используется для дублирования смарт-образа?

При использовании стандартного сочетания клавиш Command-J (ПК: Ctrl-J) для дублирования смарт-объекта изменения, внесенные в смарт-объект, повлияют на обе копии.

Как отменить связь изображения в Photoshop?

Связать и разъединить слои

  1. Выберите слои или группы на панели «Слои».
  2. Щелкните значок ссылки в нижней части панели «Слои».
  3. Чтобы разъединить слои, выполните одно из следующих действий: Выберите связанный слой и щелкните значок связи.Чтобы временно отключить связанный слой, щелкните значок связи для связанного слоя, удерживая клавишу Shift.

Как отделить часть изображения в Photoshop?

  1. Щелкните правой кнопкой мыши значок лассо на панели инструментов Photoshop и выберите «Инструмент «Многоугольное лассо».
  2. Щелкните каждый угол части, которую вы хотите отделить, а затем дважды щелкните, чтобы выбрать область, которую вы выделили.
  3. Нажмите «Слои» в строке меню и нажмите «Создать», чтобы открыть новое каскадное меню.

Как выбрать все пиксели в Photoshop для слоя?

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

  1. Выберите слой на панели «Слои».
  2. Выберите «Выделить» > «Все».

Почему Photoshop сообщает, что пиксели не выбраны?

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

Как сделать идеальное выделение в Photoshop?

Перейдите в меню «Выделение» > «Выделение и маска». Нажмите сочетание клавиш Control+Alt+R (Command+Option+R на Mac).Щелкните инструмент выделения, например инструмент «Лассо» или «Быстрый выбор», затем нажмите кнопку «Выделение и маска…» на панели параметров. Выбрав маску слоя, нажмите кнопку «Выбрать и замаскировать…» на панели «Свойства».

Как выбрать пиксели в Photoshop 2020?

Расширить или сузить выделение на определенное количество пикселей

  1. Используйте инструмент выделения, чтобы сделать выбор.
  2. Выберите «Выделение» > «Изменить» > «Развернуть или сжать».
  3. Для параметра «Расширить на» или «Сжать на» введите значение в пикселях от 1 до 100 и нажмите «ОК».Граница увеличивается или уменьшается на указанное количество пикселей.

Как выбрать пиксели?

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

  1. Чтобы включить или удалить пиксели из выделения, нажмите меню «Выбор», выберите «Уточнить край», затем выберите параметр.
  2. Чтобы отменить выбор области, нажмите Ctrl + D .

Как выбрать изображение без фона в Photoshop?

Здесь вам нужно использовать инструмент быстрого выбора.

  1. Подготовьте изображение в Photoshop.
  2. Выберите инструмент быстрого выделения на панели инструментов слева.
  3. Щелкните фон, чтобы выделить часть, которую вы хотите сделать прозрачной.
  4. Вычитание выделенных фрагментов по мере необходимости.
  5. Удалить фон.
  6. Сохраните изображение в формате PNG.

Какой инструмент используется для ретуши и исправления изображений?

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

Какой инструмент для ретуши?

Инструменты ретуширования в Adobe Photoshop: «Штамп», «Штамп», «Восстанавливающая кисть», «Заплатка» и «Замена цвета».

Какой инструмент автоматически очищает непрерывно окрашенную область?

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

В чем разница между инструментом Dodge и Burn?

Основное различие между этими двумя инструментами заключается в том, что инструмент «Осветление» используется для того, чтобы сделать изображение светлее, а инструмент «Затемнитель» — для того, чтобы сделать изображение темнее. В то время как уменьшение экспозиции (осветление) делает изображение светлее, увеличение экспозиции (затемнение) делает изображение темнее.

Как сделать изображение редактируемым непосредственно в Photoshop?

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

  1. В документе выберите слой смарт-объекта на панели «Слои».
  2. Выберите «Слой» → «Смарт-объекты» → «Редактировать содержимое».
  3. Нажмите OK, чтобы закрыть диалоговое окно.
  4. Отредактируйте свой файл до отвращения.
  5. Выберите «Файл» → «Сохранить», чтобы внести изменения.
  6. Закройте исходный файл.

Как сделать фото редактируемым?

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

Можно ли редактировать файлы JPEG?

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

Как преобразовать JPEG в редактируемый текст?

1. Нажмите кнопку «Выбрать файл» (в разных веб-браузерах может быть другое название кнопки, например «Обзор…»), откроется окно просмотра, выберите локальный файл JPG или PNG и нажмите кнопку «Открыть».2. Выберите формат Word, нажмите «Конвертировать сейчас!» кнопка для преобразования.

Может ли Microsoft Word выполнять распознавание текста?

Word в Office 365 открывает PDF-файлы и автоматически использует OCR для преобразования текста в редактируемый текст с возможностью перекомпоновки.

Как скопировать текст с изображения?

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

Как преобразовать фотографии iPhone в документы?

Как конвертировать изображения в PDF на вашем iPhone и iPad

  1. Загрузите и запустите PDF Expert.
  2. Коснитесь синего знака «плюс» внизу, чтобы добавить файл, который вы хотите преобразовать. Вы можете импортировать изображение из приложения «Фотографии и файлы», с компьютера или из облачного хранилища.
  3. Коснитесь… Подробнее о файле.
  4. Выберите Преобразовать в PDF.
  5. Вот оно!

Можно ли редактировать документ после сканирования?

После сканирования документа его можно открыть в Word для редактирования.

Есть ли в iPhone OCR?

Подробнее об Apple В сторонние приложения добавлена ​​возможность использовать оптическое распознавание символов (OCR) для обнаружения текста документа и встраивания его в отсканированный документ PDF, что делает документ доступным для поиска. Такое сочетание камеры и технологии оптического распознавания текста сделало сканирование с помощью устройства iOS еще более эффективным, чем когда-либо.

Что означает OCR?

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

Как изменить сертификат JPEG?

Как редактировать изображения бесплатно онлайн

  1. Загрузить фото.Загрузите изображение, которое хотите отредактировать.
  2. Редактировать и изменять. Внесите необходимые изменения: настройте, обрежьте, добавьте текст, конвертируйте и т. д.
  3. Экспорт и совместное использование. Нажмите «Экспорт», чтобы обработать отредактированный PNG и поделиться им.

Как редактировать отсканированный файл JPEG?

Редактировать отсканированные документы как файлы Word или текстовые файлы

  1. Откройте отсканированное изображение документа.
  2. Нажмите «Файл» и выберите «Сохранить как». Измените расширение файла с JPEG на формат файла TIFF.
  3. Щелкните значок системы на панели задач и перейдите к «Инструменты Microsoft Office».Затем откройте «Microsoft Office Document Imaging».

Как редактировать отсканированные текстовые изображения?

Откройте отсканированный файл. Откройте панель «Распознавание текста» и нажмите «В этом файле». Нажмите «Редактировать» в диалоговом окне «Распознавание текста», чтобы внести изменения. Выберите ClearScan в настройках конвертации и нажмите OK.

Как редактировать JPEG без Photoshop?

Pixlr / Free Pixlr — это совершенно бесплатное веб-приложение, похожее на Photoshop и содержащее почти все те же функции.Если вы хотите добавить текст к своему изображению, быстро обрезать снимок или просто настроить цвета, все есть! Также очень прост в использовании, это хороший способ начать редактирование фотографий.

Можно ли редактировать файл JPEG в Photoshop?

При открытии пиксельного изображения, такого как TIFF, PSD или JPEG, параметр по умолчанию — «Редактировать оригинал» (рис. 7.5). Это почти то же самое, что выбрать «Редактировать оригинал» в главном диалоговом окне «Редактировать фото» в Adobe Photoshop (рис. 7.2). [ПК]), доступны все параметры редактирования.

Как я могу отредактировать текст моей картинки онлайн?

Бесплатное онлайн-руководство по фоторедактору

  1. Шаг 1: Откройте бесплатный онлайн-редактор изображений. Img2Go предлагает универсальный и простой в использовании фоторедактор.
  2. Шаг 2: Загрузите свою фотографию. Загрузите изображение, которое хотите отредактировать.
  3. Шаг 3. Редактируйте изображения быстро и легко.
  4. Шаг 4: Сохраните отредактированное изображение.

Не удалось выполнить ваш запрос, поскольку смарт-объект нельзя редактировать напрямую

  • «Не удалось выполнить ваш запрос, так как файл не найден.»

    Здравствуйте!! Я не могу открыть ни один файл.jpg в пробной версии Photoshop CC 2014. Я получаю сообщение об ошибке «Не удалось выполнить ваш запрос, так как файл не найден».

    Файлы .png и .psd работают отлично. Любая помощь будет принята с благодарностью. Спасибо

    Ошибка: «Файл не найден» при открытии файлов JPEG Ссылка на программу установки Adobe Camera Raw 9.4.

  • У меня есть Mac, и я получил это сообщение после того, как попытался сохранить свою систему Photoshop cc photoshop, которая не смогла выполнить ваш запрос, поскольку файл не был найден.

    У меня Mac, и я получил это сообщение после того, как попытался сохранить свой cc photoshop. Система Photoshop не смогла выполнить ваш запрос, потому что файл не найден, может ли кто-нибудь мне помочь? Спасибо

    Я установил 9 сырых и все вернулось в норму спасибо за ваше электронное письмо о /peyman

    Skickat от производителя Samsung-enhet

  • Я не могу открыть RAW-файлы на Nikon D800 (i.e.e). Файлы NEF). Я использую Mac с запущенной версией Photoshop CS5 и El Capitan 10.11.2. Я получаю сообщение «не удалось выполнить ваш запрос, так как файл имеет модель камеры n

    «.

    Я не могу открыть файлы RAW с моего Nikon D800 (т.е. файлы NEF). Я использую Mac с запущенной версией Photoshop CS5 и El Capitan 10.11.2. Я получаю сообщение о том, что «не удалось выполнить ваш запрос, так как в файле указана модель камеры, которая не поддерживается установленной версией Camera Raw. Дополнительную информацию см. в справочной документации по Camera Raw». Тем не менее, Nikon D800 в списке поддерживаемых устройств. Кто-нибудь может помочь?

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

  • PS: Не удалось выполнить ваш запрос, так как файл не найден.

    Mac OS X 10.7.5.

    ПС СС 2014 2.2.

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

    «Не удалось выполнить ваш запрос, так как файл не найден.»

    (Однако я могу открывать PSD-файлы.)

    Помогите кому-нибудь? Большое спасибо!

    Это может быть результатом обновления камеры 9.5.

    Ошибка: «файл не найден» при открытии файлов JPEG

  • Ошибка&двоеточие; Не удалось выполнить ваш запрос, так как файл не найден. Справка!

    Я обновил Photoshop CC и теперь при попытке открыть какой-либо файл (jpg, psd и т. д.) получаю сообщение об ошибке: не удалось выполнить ваш запрос, так как файл не найден.Файлы жили на жестком диске, потом я переехал в офис… до сих пор не идет. PS Я удалил и заново установил. Та же ошибка. Вот лучшие, я могу очень хорошо открывать файлы в своем старом Photoshop 5.1… Есть идеи? Работаю на Macbook OS X 10.7.5 (очень надеюсь, что не обновился до El Capitan)

    Привет banderababe,

    Photoshop CC 2015 не совместим с Mac OS 10.7.5, однако, если вы используете только версию Photoshop CC, вы можете попытаться сбросить настройки Photoshop до значений по умолчанию.

    «Чтобы заново создать файлы настроек Photoshop, запустите приложение, одновременно нажимая Ctrl + Alt + Shift (Windows) или команду + Option + Shift (Mac OS). Затем нажмите «Да» в сообщении «Удалить файл настроек Adobe Photoshop». ?»

    Системные требования: конфигурация Photoshop

    Дайте нам знать, если это поможет.

    С уважением

    Мохит

  • После обновления&запятая; Я не могу открыть файл JPEG: «Не удалось выполнить ваш запрос, так как файл не найден».

    Моя подписка на Creative Cloud обновила Photoshop на днях.Мой iMac работает под управлением 10.8.5. После этого обновления я не могу открыть файл JPEG и получить сообщение о том, что «не удалось выполнить ваш запрос, поскольку файл не найден». Я уверен, что это связано с обновлением, но как я могу отменить его и вернуть все в норму? (не указывайте адрес электронной почты)

    Сообщение отредактировал: Юджин Форнарио Заголовок должен быть кратким, но описательным. В посте нет личной информации.

    Привет

    Обратитесь к этой статье об ошибке: «Файл не найден» при открытии файлов JPEG и попробуйте предложенный обходной путь.

    Дайте нам знать, если это поможет.

    С уважением

    Ассани

  • Не удается открыть файлы JPG в фотошопе&запятая; ошибка «Не удалось выполнить ваш запрос, так как файл не найден.

    Не удается открыть файлы JPG в фотошопе
    Кто-нибудь сталкивался с этой проблемой? Раньше Photoshop работал отлично, а на днях я заметил, что не могу открыть все jpg-файлы в Photoshop (испробовал все обычные способы обойти проблему с открытием), получаю сообщение об ошибке: «Не удалось выполнить ваш запрос, потому что файл не найден.» Я знаю, что файлы JPG подходят, так как они открываются в других приложениях. Мой обходной путь на данный момент заключается в том, чтобы открыть в режиме предварительного просмотра до и экспортировать в виде файла PDF, а затем открыть файл PDF в фотошопе, однако это не так. идеально
    Кто-то в — это в случае, или исправление
    Любая помощь высоко ценится

    Дэн

    Привет Дэн,.

    Пожалуйста, установите camera Raw по следующей ссылке: Camera Raw Adobe Photoshop CC и установщик CS6

    После этого откройте файл Jpeg, ошибка больше не появится.

    Дайте мне знать, если это поможет.

    С уважением

    Танудж

  • CC Photoshop инструмент обрезки — ошибка&двоеточие; Не удалось выполнить ваш запрос, так как файл не найден.

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

    Случилось со мной — исправлено путем повторной ссылки на потерянные файлы логотипов.

    A. Я не ожидал, что мои динамические объекты будут связаны

    (B) то же, что и выше

    Легко исправить, просто найдите маленькие красные значки на некоторых слоях, затем щелкните правой кнопкой мыши > заменить содержимое > изменить их

  • Я хочу редактировать свои изображения в формате RAW в Photoshop cs5. Но когда я иду, чтобы открыть. Файл CR2&запятая; он говорит & двоеточие; «Не удалось выполнить ваш запрос, так как в файле указана модель камеры, которая не поддерживается установленной версией Camera Raw. Посетите страницу

    .

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

    «Не удалось выполнить ваш запрос, поскольку файл, по-видимому, представляет собой модель камеры, которая не используется установленной версией Camera Raw. Пожалуйста, посетите справочную документацию Camera Raw для получения дополнительной информации». ‘

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

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

    8.7.1 (CS6) Photoshop Camera Raw при установке этого обновления произошла ошибка. Выйдите и повторите попытку позже. Код ошибки: U44M1I216 «

    Я не знаю, как обойти эту помощь, пожалуйста,

    Файлы CR2 какой камеры Canon?

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

    Плагин Camera Raw | Поддерживаемые устройства

  • Сообщение об ошибке «Не удалось выполнить ваш запрос, так как файл не найден» при использовании Photoshop Cs6 (последняя версия)

    Я использую mac, когда обновляю фотошоп cs6 10.0.0 на 10.0.1

    Пытаюсь открыть фото (jpg), но фотошоп пишет

    «Не удалось выполнить ваш запрос, так как файл не найден».

    После того, как я попробовал другой тип файла (png, psd design image), это работает.

    тоже пытаюсь удалить фотошоп и установить заново.

    Всегда (.. .файл не найден.) проблема.

    Никто не знает, что происходит с моим фотошопом?

    Спасибо!!!

    Привет всем

    1.

    Не могли бы вы проверить, обновляется ли Camera Raw, если нет! попробуйте запустить обновление для Camera Raw 9.4 отсюда: Camera Raw 9.4 теперь доступна

    ИЛИ

    Установка Camera Raw для Adobe Photoshop CC и программы CS6

    2.

    Кроме того, это может помочь:

    Ошибка маркера JPEG недействительна при открытии изображений в Adobe Photoshop

    Спасибо

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

    Я пытаюсь открыть файлы JPEG с помощью Camera Raw — некоторые из них работают нормально, но многие завершаются со следующей ошибкой:

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

    Кто-нибудь знает, почему это сбой или как это исправить? Я искал на форумах и в Интернете (с помощью Google), но ничего не нашел.

    Использование расширенного Photoshop CS5 (12.0.4) на MacBook Pro с Snow Leopard (10.6.8). Файлы Jpeg были скопированы на Nikon D90 на машине с Windows 7, а затем на моем MacBook. Насколько я ЗНАЮ, я ничего не делал для них на машине с Windows.

    Спасибо

    Даг

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

  • Не удалось выполнить ваш запрос, так как файл несовместим с этой версией Photoshop.

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

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

    Я могу воспроизвести видео с двумя слоями видео в ps cs5, но когда я записываю и пытаюсь открыть, я получаю сообщение «Не удалось выполнить ваш запрос, потому что файл несовместим с этой версией Photoshop».

    У меня нет антивируса или программы norton… и т.д. на моем компьютере

    и я пытался сделать это на Mac и ПК и получил тот же результат.

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

    любая помощь, которая встретится со мной, спасет от надвигающегося крайнего срока.

    Спасибо

    Я заметил, что файл psd весит всего около 10 Мб, а вот quitime файл фильма (как отдельный файл — (до этого делал в фотошопе 650 Мб)) — это проблема?

    Вы установили все обновления для Photoshop CS5? (текущая версия 12.0.3)

  • Не удалось выполнить ваш запрос, так как рабочий диск заполнен

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

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

    Заранее спасибо

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

  • Adobe Photoshop CC 2014 — невозможно выполнить ваш запрос, так как файл заблокирован…

    Я поддерживаю пользователя Photoshop CC 2014, который пытается открыть несколько файлов .jpg в своих файлах на локальном компьютере, но получает сообщение об ошибке: не удалось выполнить ваш запрос, поскольку файл заблокирован, у вас нет необходимых прав доступа или файл использует другая программа. Используйте команду «Свойства» в проводнике Windows, чтобы открыть файл. Однако затрагиваются не все файлы, и многие из них отображают миниатюру изображения и позволяют пользователю открыть файл. Проверил свойства файла вроде все нормально, а пользователь локальный админ на компе.Мы будем очень признательны за любые идеи или предложения.

    С уважением

    [личная информация удалена модератором форума]

    Привет martyw,

    Если проблема только с несколькими файлами, независимо от того, повреждены они или заблокированы (только разрешение на чтение)

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

    Затем попробуйте открыть дубликат файла в Photoshop.

    С уважением

    Ассани

  • Как решить: «Не удалось выполнить ваш запрос, поскольку смарт-объект нельзя редактировать напрямую»

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

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

    Смарт-объекты

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

    Что вызывает сообщение «Ваш запрос не может быть выполнен, поскольку смарт-объект не редактируется напрямую»?

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

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

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

    Как исправить сообщение об ошибке «Ваш запрос не может быть обработан, поскольку смарт-объект не редактируется напрямую»?

    Январь 2022 г. Обновление:

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

    • Шаг 1 : Загрузите средство восстановления и оптимизации ПК (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
    • Шаг 2: Нажмите « Start Scan », чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
    • Шаг 3: Нажмите « Восстановить все », чтобы устранить все проблемы.

    Разблокировать слой изображения
    1. Откройте Photoshop на своем компьютере.
    2. Загрузите изображение, отображающее сообщение об ошибке.
    3. Перед выбором используйте меню справа, чтобы перейти на вкладку «Слои» и щелкните значок «Блокировка», чтобы разблокировать частично заблокированный слой.
    4. Когда слой разблокирован, выберите область, которую хотите вырезать, скопировать и удалить.
    5. Проверьте, продолжает ли возникать ошибка.

    Растрирование слоя
    1. Сначала откройте приложение Photoshop на своем устройстве.
    2. Щелкните правой кнопкой мыши слой, на котором появилось сообщение об ошибке, и выберите Растрировать слой.
    3. После растрирования смарт-объекта вы можете попробовать повторить тот же процесс, который вызвал проблему, чтобы увидеть, исправлена ​​ли ошибка.

    Преобразование смарт-объекта в обычный слой
    1. Дважды щелкните значок смарт-объектов на панели «Слои».
    2. Перейдите в Слой -> Смарт-объекты -> Редактировать содержимое.
    3. Перейдите в «Свойства» и выберите «Редактировать содержимое».

    РЕКОМЕНДАЦИЯ СОТРУДНИКОВ: Если у вас возникли проблемы с компьютером, щелкните здесь, чтобы устранить ошибки Windows и оптимизировать производительность системы.

    Часто задаваемые вопросы

    Разблокировать слой с изображением. Если вы получаете сообщение об ошибке «Ваш запрос не может быть выполнен, поскольку смарт-объект не редактируется напрямую», самое простое решение — открыть неправильное изображение и разблокировать слой изображения в Photoshop.Затем вы можете удалить, вырезать или изменить выбранное изображение.

    1. В документе выберите слой смарт-объекта на панели «Слои».
    2. Выберите «Слой» -> «Смарт-объекты» -> «Редактировать содержимое».
    3. Нажмите OK, чтобы закрыть диалоговое окно.
    4. Редактировать свой файл пока совсем невозможно.
    5. Выберите «Файл» -> «Сохранить», чтобы применить изменения.
    6. Закройте исходный файл.
    1. Выберите слой смарт-объекта на панели «Слои».
    2. Выберите «Слой» -> «Смарт-объекты» -> «Заменить содержимое».
    3. В диалоговом окне «Поместить» найдите новый файл и нажмите «Поместить».
    4. Нажмите OK, когда появится диалоговое окно, и новое содержимое будет помещено в нужное место, заменив старое.
    1. Щелкните значок «Заблокировать все пиксели» на панели «Слои», чтобы заблокировать все свойства слоя.
    2. Щелкните значок еще раз, чтобы разблокировать их.
    3. На панели «Слои» щелкните значок «Заблокировать прозрачность», чтобы заблокировать прозрачные области слоя и не рисовать на них.
    Автор записи

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *