В современном мире совершается огромное количество фотографии, почти для каждой применяются какие-либо изменения. Следовательно, необходимо программное обеспечение, которое позволяет без лишних усилий преобразовывать фотографию. Но как же быть, если нужно обработать несколько фотографии с одинаковым набором редактировании, потратив минимум времени? Перспективу для решения данной проблемы открывает автоматизация процесса с помощью скриптов, удобный функционал для пользователей графических редакторов. Это, заметно, сократит время необходимую на обработки схожих фотографии, поможет решать проблемы, которые уже попадались ранее в процессе. Соответственно, целью нашей работы является – разработка утилиты для программы Adobe Photoshop позволяющую преобразовать одновременно несколько фотографий, с помощью скриптов.
Скрипты – высокоуровневый язык сценариев (англ. script) – кратких описаний действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий – это программа, имеющая дело с готовыми программными компонентами [2]. Скрипт занимает маленький объем памяти, с готовым скриптом может справится даже неопытный пользователь.
По нижеперечисленному ряду причин, для реализации идеи автоматизированной обработки фотографий было взято программные обеспечение Adobe Photoshop:
1. Photoshop занимает лидирующее место среди графических редакторов.
2. Приоритет отдан растровой обработке фотографии, нежели векторным изображениям.
3. Совместим с языком JavaScript используемый для сценария.
JavaScript (аббревиатура JS) – язык программирования. Поддерживает объектно-ориентированный, императивный и функциональный стили. Является реализацией языка ECMAScript. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования [1].
JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит как язык сценариев для придания интерактивности [3].
Определившись с языком и ПО, необходимо составить блок-схему процесса обработки изображения, включая туда: добавление изображения, использование всех необходимых инструментов и функции программы Photoshop, закончить блок схему сохранением и закрытием обработки. Работоспособность и полезность скрипта будет зависеть от валидности блок-схемы.
У нас есть исходные изображения (рис. 1). Их необходимо собрать воедино: общая картинка должна казаться, будто изображение «stend.jpg» висит как стенд на «fon.jpg».
а)
б)
в)
Рис. 1:
а – «stend.jpg»; б – «figura.png»; в – «fon.jpg»
Изображение «stend.jpg» было взято из просторов всемирной паутины, «figura.png» – векторная картинка сделанная в Adobe Photoshop, «fon.jpg» – фотография стены института.
Используя ранее составленную блок-схему пишем скрипт, сохраняем файлом формата «.Jsx». Чтобы воспроизвести сценарий, необходимо перетащить файл в рабочее поле программы Adobe Photoshop. Все записанные действия начнут происходить с очень быстрой скоростью, но не в фоновом режиме, можно видеть как происходят изменения в рабочем поле редактора. Скрипт откроет указанное изображение, наложит градиент и тени, добавит новые слои в определенную зону рабочего пространства по прямоугольной системе координат, применит слой-заливку «Яркость/Контрастность» поверх всех остальных слоев. Следующими шагами сохранит всё обработанное в указанную папку в двух форматах «.Jpg» и «.PSD», а после закроет окно обработки. Всё происходит автоматический, пользователю остается лишь проверить готовое изображение. При необходимости пользователь может запустить файл «.PSD» и внести дополнительные корректировки, потому что скрипт все изменения создает в новых слоях, каждый слой независим от общей картины.
Пример кода для сохранения файлов (рис. 2).
Рис. 2
Пример кода для закрытия окна обработки (рис. 3).
Рис. 3
Если вам приходится часто работать с графическими редакторами, необходимо поискать скрипты в просторах интернета, которые удовлетворяли вашим потребностям.
Запустим наш скрипт и посмотрим готовый результат (рис. 4). Теперь мы можем посмотреть, как выглядел бы стенд в данном коридоре. Скрипт выполнил все стадии обработки и сохранил изображение. Стоит отметить что у данного скрипта есть свои недостатки, например: не может определить в каком положении изображение stend.jpg горизонтальном или вертикальном, из-за этого возможен некорректный результат, но все шероховатости можно исправить углубившись в код скрипта.
Рис. 4
Подводя итог, можно сказать, что использование скриптов в редактировании изображении ощутимо ускоряет процесс, за счет минимальной траты времени на обработку, так же сберегает энтузиазм и энергию пользователя для более утонченных и уникальных задач. Стоит заметить, что возможности скриптов не ограничиваются лишь редакторами изображении.
Для более подробного изучения процесса предоставим несколько диаграмм.
Рис. 5. Диаграмма работы пользователя
Рис. 6. Диаграмма прецедентов