Советы по обработке фотографий. Пакетная обработка в фотошопе Пишем код обработчика команды

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

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

Фото: LJ

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

  • Сделать красивую фотографию, сохранив её естественный и реалистичный вид
  • Придать изображению большей драмы, создать нереальный образ

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


Фото: Phil Selby

Что необходимо для обработки фото

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

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


Фото: Gina

Чего не стоит делать при обработке фотографи

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


Фото: Betina

Заключение

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


Фото: Ed McGowan


Фото: Longbachnguyen

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

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

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

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

Самое время попробовать сделать обработку 1С самостоятельно. Подробности далее.

Что такое обработки 1С и как они используются

Маленькое вступление. Кто уже знаком с обработками 1С – может пропустить этот пункт.

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

По функционалу обработки 1С можно поделить на три вида:

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

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

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

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

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

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

Где находятся обработки 1С

Итак, существуют обработки 1С встроенные в конфигурацию и внешние обработки 1С.

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

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

В конфигураторе встроенные в конфигурацию обработки 1С находятся в ветке Обработки.

Внешние обработки 1С открываются и в конфигураторе и в Предприятии с помощью меню Файл/Открыть.

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

Как сделать обработку 1С самостоятельно

Итак, приступаем к самому интересному – алгоритм создания обработки 1С самостоятельно с нуля.

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

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

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

Итак, давайте приступим к пакетной обработке.

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

Если Вы заметили, то в данной папке присутствует и подпапка «Готовые фото» . В нее будут сохраняться результаты обработки.

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

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

Идем в меню «Редактирование – Настройки цветов» и снимаем галки, указанные на скриншоте.


Теперь можно начинать…

Проанализировав снимки, становится ясно, что все они немного затемнены. Поэтому мы их осветлим и немного затонируем.

Открываем первый снимок.

Затем вызываем палитру «Операции» в меню «Окно» .

В палитре необходимо нажать на значок папки, дать новому набору какое-нибудь название и нажать ОК .

Затем создаем новую операцию, также как-нибудь ее называем и нажимаем кнопку «Записать» .

Для начала изменим размер изображения. Скажем, нам понадобятся картинки шириной не более 550 пикселей.
Идем в меню «Изображение – Размер изображения» . Меняем ширину на нужную и нажимаем ОК .



Как видим, в палитре операций произошли изменения. Наше действие успешно записано.

Для осветления и тонирования воспользуемся «Кривыми» . Вызываются они сочетанием клавиш CTRL+M .

В открывшемся окне ставим току на кривой и тянем в сторону осветления до достижения желаемого результата.

Затем переходим в красный канал и немного откорректируем цвета. К примеру, вот так:

По окончании процесса нажимаем ОК .

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

Продолжаем. Предположим, что все действия мы уже выполнили. Теперь нужно сохранить фотографию в нужном нам формате.
Нажимаем комбинацию клавиш CTRL+SHIFT+S , выбираем формат и место для сохранения. Я выбрал папку «Готовые фото» . Жмем «Сохранить» .

Последним шагом будет закрытие изображения. Не забудьте это сделать, иначе все 100500 фотографий останутся открытыми в редакторе. Кошмар…

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

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

Экшен готов.

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

Идем в меню «Файл – Автоматизация – Пакетная обработка» .

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

После нажатия кнопки «ОК» начнется обработка. Время, затраченное на процесс, напрямую зависит от количества фото и от сложности операций.

Используйте автоматизацию, предоставляемую Вам программой Фотошоп, и сэкономите уйму времени на обработке своих снимков.

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

Войдите на сайт как ученик

Войдите как ученик, чтобы получить доступ к материалам школы

Создание конфигураций 1С: добавляем обработку

Продолжаем изучение азов создания конфигураций на 1С.

На этом уроке мы вместе создадим новую обработку, а затем напишем для неё команды, которые демонстрируют работу со справочником "Сотрудники".

Возвращаемся в конфигуратор и открываем дерево конфигурации.

Добавляем новую обработку

Правой кнопкой нажимаем на разделе "Обработки" и выбираем пункт "Добавить":

Открылось окно создания новой обработки. Перейдём на закладку "Основные" и укажем в качестве имени обработки "ОбработкаСправочников":

Создаём форму для обработки

Перейдём на закладку "Формы" нажмём на зелёный плюсик, чтобы добавить новую форму (визуальное представление нашей обработки):

Появился конструктор создания формы. Оставим всё по умолчанию и нажмём "Готово":

Открылась новая форма:

Создаём новую команду для формы

Перейдём на закладку "Команды"->"Команды формы":

Добавим новую команду (зелёный плюсик):

И в свойствах новой команды укажем имя "ВыводВсехСотрудников":

Нажмём в её же свойствах на лупу рядом с полем "Действие", чтобы задать обработчик команды. Выберем вариант создания обработчика "НаКлиенте" и нажмём "ОК":

Нас перенесло в модуль формы в процедуру-обработчик команды "ВыводВсехСотрудников":

Пишем код обработчика команды

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

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

Поэтому давайте допишем в конце модуля процедуру такого вида:

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

Теперь организуем вызов этой процедуры из клиентской "ВыводВсехСотрудников":

Тут логика такая:

  1. Пользователь вызывает команду "ВыводВсехСотрудников" (например, нажатием на кнопку, которой у нас ещё правда нет)
  2. Команда запускает одноименную процедуру-обработчик "ВыводВсехСотрудников" на клиенте (ведь кнопка, а значит и команда находятся на клиенте)
  3. Клиентская процедура "ВыводВсехСотрудников" делает вызов серверной процедуры "ВыводВсехСотрудниковНаСервере"
  4. Серверная процедура "ВыводВсехСотрудниковНаСервере" читает данные справочника из базы и выводит их в окно сообщений

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

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

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

Менеджер = Справочники. Сотрудники;

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

Что представляет из себя менеджер справочника? Менеджер - это ещё не сами данные справочника. Менеджер - это некоторый программный объект (можете представлять его себе в виде чёрного ящика), через который мы можем что-либо делать со справочником.

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

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

Менеджер = Справочники. Сотрудники; Выборка = Менеджер. Выбрать() ;

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

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

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

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

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

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

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

Рассмотрим в данной статье пошаговую инструкцию по созданию внешней обработки в 1С 8.3 в режиме управляемого приложения, соответственно, будем использовать управляемые формы. А самое главное — мы научимся подключать её к механизму «внешних обработок» конфигураций 1С, построенных на библиотеке стандартных подсистем версии 2.0 и новее.

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

Для этого сразу произведем необходимую настройку в программе (рассматривается конфигурация 1С 8.3: «Бухгалтерия предприятия 3.0» на управляемых формах).

Установка данного флажка дает нам возможность использовать внешние обработки.

Создание новой внешней обработки в 1С 8.3 на примере

Теперь переходим в конфигуратор. В меню «Файл» выбираем «Новый…». Откроется окно выбора вида создаваемого файла. Выбираем «Внешняя обработка»:

Откроется окно новой внешней обработки. Сразу зададим ей имя. Оно будет предложено при сохранении обработки на диск:

Добавим новую управляемую форму обработки. Указываем, что это форма обработки и она является основной:

На форме у нас будет два реквизита:

  • ГруппаНоменклатуры – ссылка на справочник «Номенклатура»;
  • ВыбСтавкаНДС – ссылка на перечисление Ставки НДС.

Создаем реквизиты в колонке «Реквизит» в верхнем правом окне. Перетаскиваем мышкой их в левое верхнее окно. Новые реквизиты должны сразу отобразиться на форме внизу.

Очередность реквизитов можно менять стрелками «Вверх» – «Вниз»:

Получите 267 видеоуроков по 1С бесплатно:

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

В модуле формы будет создана одноименная процедура. В ней вызовем процедуру на сервере:

&НаКлиенте

Процедура УстановитьСтавкуНДС(Команда)

УстановитьСтавкуНДСНаСервере();

КонецПроцедуры

В процедуре на сервере напишем небольшой запрос и действия, связанные с установкой ставки НДС:

&НаСервере

Процедура УстановитьСтавкуНДСНаСервере()

Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка В ИЕРАРХИИ (&ГруппаНоменклатуры)
| И НЕ Номенклатура.ПометкаУдаления
| И НЕ Номенклатура.ЭтоГруппа»;

Запрос.УстановитьПараметр(«ГруппаНоменклатуры», ГруппаНоменклатуры);
РезЗапроса = Запрос.Выполнить();
ВыбДетЗаписи = РезЗапроса.Выбрать();

Пока ВыбДетЗаписи.Следующий() Цикл

Попытка
СпрНомОбъект.Записать();
Исключение
Сообщить(«Ошибка записи объекта «»» + СпрНомОбъект + «»»!
|» + ОписаниеОшибки());
КонецПопытки;

КонецЦикла;

КонецПроцедуры

Возвращаемся на закладку «Форма», добавляем на форму кнопку и связываем ее с командой:

Как таковая наша обработка готова к использованию. Чтобы ее вызвать, в режиме «1С Предприятия» нужно зайти в меню «Файл» – «Открыть» и выбрать созданный файл.

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

Для этого и служит раздел «Дополнительные отчеты и обработки».

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

Описание функции «Сведения О Внешней Обработке»

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

Функция СведенияОВнешнейОбработке() Экспорт

ДанныеДляРег = Новый Структура();
ДанныеДляРег.Вставить(«Наименование», «Установка ставки НДС»);
ДанныеДляРег.Вставить(«БезопасныйРежим», Истина);
ДанныеДляРег.Вставить(«Версия», «ver.: 1.001»);
ДанныеДляРег.Вставить(«Информация», «Обработка для установки ставки НДС в справочнике Номенклатура»);
ДанныеДляРег.Вставить(«Вид», «ДополнительнаяОбработка»);

ТабЗнКоманды = Новый ТаблицаЗначений;
ТабЗнКоманды.Колонки.Добавить(«Идентификатор»);
ТабЗнКоманды.Колонки.Добавить(«Использование»);
ТабЗнКоманды.Колонки.Добавить(«Представление»);

НовСтрока = ТабЗнКоманды.Добавить();
НовСтрока.Идентификатор = «ОткрытьОбработку»;
НовСтрока.Использование = «ОткрытиеФормы»;
НовСтрока.Представление = «Открыть обработку»;
ДанныеДляРег.Вставить(«Команды», ТабЗнКоманды);

Возврат ДанныеДляРег;

КонецФункции

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

Как видим, все довольно просто. Не совпадает лишь один реквизит: «ВариантЗапуска» – «Использование». Если посмотреть код одного из общих модулей, то мы увидим, как возникает связка этих полей:

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

Подключение внешней обработки в 1С 8.3